From b41f515c7011f4227447f94f2bd7ced71ba6a5a8 Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 10 Nov 2023 16:45:48 +0100 Subject: [PATCH 01/67] ExDM GraphicalData.UnitTest - implement independent testing #343 - improved diagrams - code map for the folder in concern --- .../.Media/LayeredArchitecture.png | Bin 79190 -> 82409 bytes .../ViewModelTestContributintDependencies.png | Bin 93018 -> 95577 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ExDataManagement/GraphicalData/.Media/LayeredArchitecture.png b/ExDataManagement/GraphicalData/.Media/LayeredArchitecture.png index f520b5785b6899fce70e1cf1ab3e246d6318c201..6830f0c6ce78ad680e831c2ea4bff1f31e1bb656 100644 GIT binary patch literal 82409 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 literal 79190 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 diff --git a/ExDataManagement/GraphicalData/.Media/ViewModelTestContributintDependencies.png b/ExDataManagement/GraphicalData/.Media/ViewModelTestContributintDependencies.png index dfa327fb143913ec5252762a9115796a0d5b5750..05b789ea6016090866b9ca969595ed7af7077c51 100644 GIT binary patch literal 95577 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 literal 93018 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 Date: Sun, 12 Nov 2023 16:28:37 +0100 Subject: [PATCH 02/67] ExDM Add documentation to the selected parts of the code#369 - Added placeholders for the documentation --- .vscode/settings.json | 5 +++- .../DataStreams.UnitTest/README.md | 3 +++ .../DataStreams/DataStreams/README.md | 3 +++ ExDataManagement/DataStreams/README.md | 2 +- .../FunctionalProgramming.UnitTest/README.md | 15 +++++++++++ .../FunctionalProgramming/README.md | 16 ++++++++++++ .../GraphicalData.Model/README.md | 1 + .../GraphicalData.View/README.md | 1 + .../GraphicalData.ViewModel/README.md | 1 + .../GraphicalData/ModelUnitTest/README.md | 1 + ExDataManagement/GraphicalData/README.md | 18 +++++++++++-- .../GraphicalData/ViewModelUnitTest/README.md | 1 + ExDataManagement/READMEConclusion.md | 11 ++++++++ ExDataManagement/READMEFundamentals.md | 1 + ExDataManagement/READMEPrerequisites.md | 1 + ExDataManagement/StructuralData/README.md | 2 +- .../StructuralData/StructuralData/README.md | 3 +++ .../StructuralDataUnitTest/README.md | 3 +++ SUMMARY.md | 26 +++++++++++++------ 19 files changed, 101 insertions(+), 13 deletions(-) create mode 100644 ExDataManagement/DataStreams/DataStreams.UnitTest/README.md create mode 100644 ExDataManagement/DataStreams/DataStreams/README.md create mode 100644 ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md create mode 100644 ExDataManagement/FunctionalProgramming/README.md create mode 100644 ExDataManagement/GraphicalData/GraphicalData.Model/README.md create mode 100644 ExDataManagement/GraphicalData/GraphicalData.View/README.md create mode 100644 ExDataManagement/GraphicalData/GraphicalData.ViewModel/README.md create mode 100644 ExDataManagement/GraphicalData/ModelUnitTest/README.md create mode 100644 ExDataManagement/GraphicalData/ViewModelUnitTest/README.md create mode 100644 ExDataManagement/READMEConclusion.md create mode 100644 ExDataManagement/READMEFundamentals.md create mode 100644 ExDataManagement/READMEPrerequisites.md create mode 100644 ExDataManagement/StructuralData/StructuralData/README.md create mode 100644 ExDataManagement/StructuralData/StructuralDataUnitTest/README.md diff --git a/.vscode/settings.json b/.vscode/settings.json index 424179a6..1bf41423 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -8,5 +8,8 @@ "githubPullRequests.ignoredPullRequestBranches": [ "master" ], - "dotnet.defaultSolution": "disable" + "dotnet.defaultSolution": "disable", + "cSpell.words": [ + "MVVM" + ] } \ No newline at end of file diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md new file mode 100644 index 00000000..0d49575a --- /dev/null +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -0,0 +1,3 @@ +# Data Streams - Usage + +> Path: ExDataManagement\DataStreams\DataStreams.UnitTest\README.md diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md new file mode 100644 index 00000000..11cf2cd3 --- /dev/null +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -0,0 +1,3 @@ +# Data Streams Implementation Examples + +> Path: ExDataManagement\DataStreams\DataStreams diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 744ed048..75963939 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -1,4 +1,4 @@ -# Section 2 - Data streams +# Data Streams Preface ## Key words diff --git a/ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md b/ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md new file mode 100644 index 00000000..1c2eb020 --- /dev/null +++ b/ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md @@ -0,0 +1,15 @@ + +# Functional Programming Usage + +> Path: `ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md` diff --git a/ExDataManagement/FunctionalProgramming/README.md b/ExDataManagement/FunctionalProgramming/README.md new file mode 100644 index 00000000..1d3edaf3 --- /dev/null +++ b/ExDataManagement/FunctionalProgramming/README.md @@ -0,0 +1,16 @@ + + +# Functional Programming Preface + +> Path: ExDataManagement\FunctionalProgramming\README.md diff --git a/ExDataManagement/GraphicalData/GraphicalData.Model/README.md b/ExDataManagement/GraphicalData/GraphicalData.Model/README.md new file mode 100644 index 00000000..202d2119 --- /dev/null +++ b/ExDataManagement/GraphicalData/GraphicalData.Model/README.md @@ -0,0 +1 @@ +# The Model Sub-layer of the MVVM diff --git a/ExDataManagement/GraphicalData/GraphicalData.View/README.md b/ExDataManagement/GraphicalData/GraphicalData.View/README.md new file mode 100644 index 00000000..947ea601 --- /dev/null +++ b/ExDataManagement/GraphicalData/GraphicalData.View/README.md @@ -0,0 +1 @@ +# View Implementation Examples diff --git a/ExDataManagement/GraphicalData/GraphicalData.ViewModel/README.md b/ExDataManagement/GraphicalData/GraphicalData.ViewModel/README.md new file mode 100644 index 00000000..32cde7cb --- /dev/null +++ b/ExDataManagement/GraphicalData/GraphicalData.ViewModel/README.md @@ -0,0 +1 @@ +# ViewModel Implementation Examples diff --git a/ExDataManagement/GraphicalData/ModelUnitTest/README.md b/ExDataManagement/GraphicalData/ModelUnitTest/README.md new file mode 100644 index 00000000..7e95a502 --- /dev/null +++ b/ExDataManagement/GraphicalData/ModelUnitTest/README.md @@ -0,0 +1 @@ +# Model Usage diff --git a/ExDataManagement/GraphicalData/README.md b/ExDataManagement/GraphicalData/README.md index e9d843b1..8c800924 100644 --- a/ExDataManagement/GraphicalData/README.md +++ b/ExDataManagement/GraphicalData/README.md @@ -1,5 +1,19 @@ -# Section: Graphical data - + + +# Graphical Data Preface + +> Path: `ExDataManagement/GraphicalData/README.md` > TBD: placeholder only ## Graphical Data - Part 1 diff --git a/ExDataManagement/GraphicalData/ViewModelUnitTest/README.md b/ExDataManagement/GraphicalData/ViewModelUnitTest/README.md new file mode 100644 index 00000000..eb8ad901 --- /dev/null +++ b/ExDataManagement/GraphicalData/ViewModelUnitTest/README.md @@ -0,0 +1 @@ +# ViewModel Usage diff --git a/ExDataManagement/READMEConclusion.md b/ExDataManagement/READMEConclusion.md new file mode 100644 index 00000000..172cce15 --- /dev/null +++ b/ExDataManagement/READMEConclusion.md @@ -0,0 +1,11 @@ +# Conclusion + +## Preface + +## Data Streams + +## Functional Programming + +## Structural Data + +## Graphical Data diff --git a/ExDataManagement/READMEFundamentals.md b/ExDataManagement/READMEFundamentals.md new file mode 100644 index 00000000..2573e069 --- /dev/null +++ b/ExDataManagement/READMEFundamentals.md @@ -0,0 +1 @@ +# Fundamentals diff --git a/ExDataManagement/READMEPrerequisites.md b/ExDataManagement/READMEPrerequisites.md new file mode 100644 index 00000000..6059b917 --- /dev/null +++ b/ExDataManagement/READMEPrerequisites.md @@ -0,0 +1 @@ +# Prerequisites diff --git a/ExDataManagement/StructuralData/README.md b/ExDataManagement/StructuralData/README.md index 97a9f4c1..232f5c7b 100644 --- a/ExDataManagement/StructuralData/README.md +++ b/ExDataManagement/StructuralData/README.md @@ -1,4 +1,4 @@ -# Section: Structural Data +# Structural Data Preface ## Lesson 08 - Anonymous function and lambda expression diff --git a/ExDataManagement/StructuralData/StructuralData/README.md b/ExDataManagement/StructuralData/StructuralData/README.md new file mode 100644 index 00000000..1653a7ef --- /dev/null +++ b/ExDataManagement/StructuralData/StructuralData/README.md @@ -0,0 +1,3 @@ +# Structural Data - Implementation Examples + +> Path: `ExDataManagement/StructuralData/StructuralData/README.md` diff --git a/ExDataManagement/StructuralData/StructuralDataUnitTest/README.md b/ExDataManagement/StructuralData/StructuralDataUnitTest/README.md new file mode 100644 index 00000000..3a7d5404 --- /dev/null +++ b/ExDataManagement/StructuralData/StructuralDataUnitTest/README.md @@ -0,0 +1,3 @@ +# Structural Data Usage + +> Path: `ExDataManagement/StructuralData/StructuralDataUnitTest/README.md` \ No newline at end of file diff --git a/SUMMARY.md b/SUMMARY.md index cd11956e..768199e0 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -28,14 +28,24 @@ ## External Data Management * [Executive Summary](ExDataManagement/README.md) -* Data Semantics - - * [Generics](ExDataManagement/P02.DataSemantics/DataSemantics/Generics/Generics.md) - * [Partial types](ExDataManagement/P02.DataSemantics/DataSemantics/Partials/README.md) -* [Data Streams](ExDataManagement/P03.DataStreams/README.md) -* [Functional Programming](ExDataManagement/P04.FunctionalProgramming/FunctionalProgramming/Readme.md) -* [Structural Data](ExDataManagement/P05.StructuralData/README.md) -* [Graphical Data](ExDataManagement/P06.GraphicalData/README.md) + * [Fundamentals](ExDataManagement/READMEFundamentals.md) + * [Prerequisites](ExDataManagement/READMEPrerequisites.md) +* [Data Streams Preface](ExDataManagement/DataStreams/README.md) + * [Implementation Examples](ExDataManagement/DataStreams/DataStreams) + * [Usage](ExDataManagement\DataStreams\DataStreams.UnitTest\README.md) +* [Functional Programming Preface](ExDataManagement\FunctionalProgramming\README.md) + * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) + * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) +* [Structural Data Preface](ExDataManagement/StructuralData/README.md) + * [Implementation Examples](ExDataManagement/StructuralData/StructuralData/README.md) + * [Usage](ExDataManagement/StructuralData/StructuralDataUnitTest/README.md) +* [Graphical Data Preface](ExDataManagement/GraphicalData/README.md) + * [View Implementation Examples](ExDataManagement\GraphicalData\GraphicalData.View\README.md) + * [ViewModel Implementation Examples](ExDataManagement\GraphicalData\GraphicalData.ViewModel\README.md) + * [ViewModel Usage](ExDataManagement\GraphicalData\ViewModelUnitTest\README.md) + * [Model Implementation Examples](ExDataManagement/GraphicalData/GraphicalData.Model/README.md) + * [Model Usage](ExDataManagement/GraphicalData/ModelUnitTest/README.md) +* [Conclusion](ExDataManagement/READMEConclusion.md) ## Adaptive Programming From bd7d0c9c41adaac7b91b57d366de50e2cd1ad2cc Mon Sep 17 00:00:00 2001 From: MPostol Date: Tue, 14 Nov 2023 15:26:12 +0100 Subject: [PATCH 03/67] ExDM Add documentation to the selected parts of the cod e#369 - backup copy - Working on DataStreams --- .vscode/settings.json | 3 +- .../DataStreams.UnitTest/README.md | 71 ++++++++++++++- .../DataStreams/DataStreams/README.md | 63 +++++++++++++- ExDataManagement/DataStreams/README.md | 86 +++++++++++-------- 4 files changed, 183 insertions(+), 40 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 1bf41423..2361297f 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -10,6 +10,7 @@ ], "dotnet.defaultSolution": "disable", "cSpell.words": [ - "MVVM" + "MVVM", + "Pendrive" ] } \ No newline at end of file diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md index 0d49575a..556b9b6e 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -1,3 +1,72 @@ + + # Data Streams - Usage -> Path: ExDataManagement\DataStreams\DataStreams.UnitTest\README.md +Let's try this piece of program is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption 'Today is` with the inscription `today is` ❓ and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. + +## File and Stream Concepts + +I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. + +Let us examine the behavior of files using a specific programming example. Here I have a method that will save a text consisting of the words 'Today is' and the current date to a file. The word file appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it existed, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. + +So what's important to emphasize here is that the File class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. + +### FileExample class + +The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class. The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. + +The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies for different natural languages. I chose a variant that is independent of the natural language selection by the environment in which the program is executed. + +In the next lines of the program, we write to the file. The file, as I have already said, is represented by a stream (`Stream`), and to write data to it first, we must prepare it. + +## Stream class + +We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. + +Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with..., these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. + +Since a stream of characters must be prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with `...`, these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. It can be stated that this relationship between the text and the bitstream is defined by `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. + +The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. + +## Serialization + +## Useful Technologies + +### Validation + +### Visualization + +### Reflection + +#### Attributes + +## Cryptography basics + +### Hash + +### Encryption + +### Digital Signature + +## See Also + +- [XSL\(T\) Languages][XSLW3C] +- [Serialization in .NET][STLZTN] +- [XML Schema Definition Tool (Xsd.exe)][XSD] + +[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) +[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) +[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 11cf2cd3..9d9d7d0d 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -1,3 +1,64 @@ + + # Data Streams Implementation Examples -> Path: ExDataManagement\DataStreams\DataStreams +## Introduction + +Let's look at the folder containing example files. We have different files here, but similar descriptive data, i.e. metadata, are defined for all of them. Among these data, location is interesting. For example, we can see that this file is probably not located locally because it does not contain a computer name, which would indicate that it is available on a remote file system. We also have the creation date, modification date, and many other information that may be useful, but the most important thing is, of course, the content of the file. + +After double-clicking on the selected file an image will appear. Here we may ask a question - what happened? Well, a program was launched. This program must have been written by some programmer. The program did open this file as input, so the programmer had to know the syntax and semantics that were used in this file. The data contained in the file made it possible to visualize them graphically. This is the first example of graphical representation, but we will return to this issue soon. + +## File and Stream Concepts + +Using code snippets, let's explain what is a file and what is a stream. So again, a file is a static class that represents available file systems and provides typical operations against these file systems. A stream, or rather the `Stream` class, is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. + +This sample demonstrates how to save working data in a file containing an XML document, which next can be directly presented for example in MS Word editor or Internet Explorer translated using a style sheet. It is the simplest way to detach the document content from its presentation. + +## Serialization + +This example is dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static class: + +`Example.Xml.DocumentsFactory.XmlFile` + +The `Example.Xml.CustomData` namespace contains classes that represent XML schema and are used by the program as an object model of the working data. + +After implementation of the `Example.Xml.DocumentsFactory.IStylesheetNameProvider` by the root class of the object model we can convey information about default stylesheet that may be used to transform resultant XML file. Information about the stylesheet (xslt file) is added to the XML document and can be used by the application to open the file and translate the content. + +An example of xslt file has been added to the CustomData and is copied during project build to destination folder. In the same folder an example of XML file (named Catalog.xml ) is created. You can open it using IE or MS Word using the instruction below. + +Program class demonstrates how to use read/write operation. + +## Useful Technologies + +### Reflection + +#### Attributes + +## Cryptography basics + +### Hash + +### Encryption + +### Digital Signature + +## See Also + +- [XSL\(T\) Languages][XSLW3C] +- [Serialization in .NET][STLZTN] +- [XML Schema Definition Tool (Xsd.exe)][XSD] + +[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) +[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) +[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 75963939..4ac203f5 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -1,66 +1,78 @@ + + # Data Streams Preface ## Key words -File System, User Interface, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, XML Serialization, XSL, Data Validation, XML Documentation +Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, XML Serialization, Data Validation, Data Visualization -## Lesson 03 - File and Stream Concepts +## Introduction -## Lesson 04 - Attributes +This folder directly or indirectly is related to the topic of representing information as a stream of bits and is devoted to discussing selected programming issues related to their programmatic management. -## Lesson 05 - Reflection +If we write a program to automate a selected process of information processing, we inevitably have to operate on data that represent this process. Generally, we can distinguish operations related to read input data, permanently remember intermediate data, transfer data between individual applications, and save the final data somewhere after the completion of the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using solutions such as a file server, distributed file system, Google Drive, One Drive, and finally a Pendrive. -## Lesson 06 - Serialization +## File concept -## Executive summary +This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. The second one indicates the location where the file can be found by the file system engine. We also have other metadata such as date of creation, length, location on the medium, and others. -This sample demonstrates how to save working data in a file containing xml document, which next can be directly presented for example in MS Word editor or Internet Explorer translated using a style sheet. It is simplest way to detach the document content from its presentation. +An important feature of a file is that it contains content in addition to metadata. Metadata is, of course, very important, but the most important thing is the content it includes, which is data representing information subject to processing. -## Scenario +Everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. -Applications save working data into the files to keep state information, to provide processing outcome or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from the file. It must be carefully observed if the files are also modified by other applications or directly by users, because data corruption may occur. To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the save operation. +## Serialization -## Presenting working data outside the application +### Fundamentals -As the XML format is text based it can be directly read and displayed by the software user. However, it is not preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents or HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting a working data to produce HTML for the Web, you might have a template (*stylesheet file*) to match an underlined group of elements and make it come out as a table. +To save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the object containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file. -To get more about how to start with XSLT visit the W3C School: +> To learn more about the serialization visit the MSDN: [Serialization in .NET][STLZTN]. -[XSL\(T\) Languages](https://www.w3schools.com/xml/xsl_languages.asp) +## Useful Technologies -Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. To save/read working data from XML files we need generic operations that could automate this process regardless of types we used to create the object containing working data. This process is called serialization. There must be also provided reverse operation creating objects from the XML content-deserialization. This operation additionally has to verify the content against the XML schema. Instead of XML schema to validate the XML file validation we can use equivalent set of classes. +### Validation -To learn more about the serialization visit the MSDN: +Applications save working data into the files to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. **correctness** of the stored data has to be validated every time an application reads it back from the file. It must be carefully observed if the files are also modified by other applications or directly by users, because data corruption may occur. -[Serialization in .NET](http://msdn.microsoft.com/library/7ay27kt9.aspx) +To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. Therefore, instead of XML schema to validate XML files, we may use an equivalent set of classes. -You may use the XML Schema Definition [Xsd.exe](http://msdn.microsoft.com/library/x6c1kb0s.aspx) tool, which generates XML schema or common language run-time classes from XDR, XML, and XSD files, or from classes in a run-time assembly. +You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML schema or language classes from XDR, XML, and XSD files, or from classes in a run-time assembly. -## Solution +### Visualization -This example is dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static class: +As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (**stylesheet file**) to match an underlined group of elements and make it come out as a table. -`Example.Xml.DocumentsFactory.XmlFile` +> To get more about how to start with XSLT visit the W3C School: [XSL\(T\) Languages][XSLW3C]. -The `Example.Xml.CustomData` namespace contains classes that represent XML schema and are used by the program as an object model of the working data. +### Reflection -After implementation of the `Example.Xml.DocumentsFactory.IStylesheetNameProvider` by the root class of the object model we can convey information about default stylesheet that may be used to transform resultant XML file. Information about the stylesheet (xslt file) is added to the XML document and can be used by the application to open the file and translate the content. +#### Attributes -An example of xslt file has been added to the CustomData and is copied during project build to destination folder. In the same folder an example of XML file (named Catalog.xml ) is created. You can open it using IE or MS Word using the instruction below. +## Cryptography basics -Program class demonstrates how to use read/write operation. +### Hash -## Lesson 07 - Cryptography basics +### Encryption - +### Digital Signature + +## See Also + +- [XSL\(T\) Languages][XSLW3C] +- [Serialization in .NET][STLZTN] +- [XML Schema Definition Tool (Xsd.exe)][XSD] + +[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) +[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) +[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) From 0172b4b4c55f9a5726bd5273c7ceda93ab2ed656 Mon Sep 17 00:00:00 2001 From: MPostol Date: Tue, 21 Nov 2023 13:01:41 +0100 Subject: [PATCH 04/67] ExDM Add documentation to the selected parts of the code #369 - working on - backup documentation. --- .vscode/settings.json | 3 +- .../DataStreams/DataStreams/README.md | 84 ++++++++++++++++++- ExDataManagement/DataStreams/README.md | 48 ++++++++++- 3 files changed, 131 insertions(+), 4 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 2361297f..d842adba 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -11,6 +11,7 @@ "dotnet.defaultSolution": "disable", "cSpell.words": [ "MVVM", - "Pendrive" + "Pendrive", + "typeof" ] } \ No newline at end of file diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 9d9d7d0d..62064e84 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -17,7 +17,7 @@ Let's look at the folder containing example files. We have different files here, but similar descriptive data, i.e. metadata, are defined for all of them. Among these data, location is interesting. For example, we can see that this file is probably not located locally because it does not contain a computer name, which would indicate that it is available on a remote file system. We also have the creation date, modification date, and many other information that may be useful, but the most important thing is, of course, the content of the file. -After double-clicking on the selected file an image will appear. Here we may ask a question - what happened? Well, a program was launched. This program must have been written by some programmer. The program did open this file as input, so the programmer had to know the syntax and semantics that were used in this file. The data contained in the file made it possible to visualize them graphically. This is the first example of graphical representation, but we will return to this issue soon. +After double-clicking on the selected file an image will appear. Here we may ask a question - what happened? Well, a program was launched. This program must have been written by some programmer. The program did open this file as input, so the programmer had to know the syntax and semantics that were used in this file. The data contained in the file make it possible to visualize them graphically. This is the first example of graphical representation, but we will return to this issue soon. ## File and Stream Concepts @@ -43,7 +43,87 @@ Program class demonstrates how to use read/write operation. ### Reflection -#### Attributes +Let's first go back to the example we discussed in the previous lesson. Let me remind you that we had a class that we have preceded by a custom attribute, which is defined below this class. In unit testing, we had the [AttributedClassTypeTest][AttributedClassTypeTest] test method that proved how to retrieve features of the definitions of this type by creating an object of type `Type`. I moved the testing stuff to the [GoTest][GoTest] method because to reuse this functionality without code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (on objects of the `Attribute` type) that were created as a result of the `GetCustomAttributes` operation. + +In the pointed-out example, the only weak point is that it uses an identifier of the type definition. In this code snipped, the `typeof` is an operator, which is used to instantiate an object that represents a type utilizing the identifier of a type definition. The argument to the `typeof` operator must be the name of a type. Hence, talking about serialization/deserialization we have to implement appropriate algorithms in such a way that we do not have to refer to the type definitions because we simply do not know them. In general, the type is defined later, and it doesn't matter if it is milliseconds, or years later. Let's try to imagine a scenario in which we have to deal with objects whose types we do not know. + +To show an example a bit similar to the above scenario, in the unit test project, I have added the [Siyova16][Siyova16] class with all identifiers created randomly by a password generator. The main idea of creating a random definition is to give the impression and stress that there is no need to refer directly to them while implementing the required functionality. As it was mentioned already, to create a generic solution the reality is that we need to be prepared for a situation where referencing identifiers directly is impossible. The reflection can be applied to both cases, so we can investigate it using a simplified case. + +To continue building an example in which we will show how to operate on objects of unknown types, I have inserted the [ObjectFactory][CreateObject] class here, whose task is to create such objects. Precisely, the objects are of different types, but they have one thing in common, namely they are preceded by the same `CustomAttribute` attribute. The [AttributedClassInstanceTest][AttributedClassTypeTest] test shows that it is possible to detect this feature without referring to identifiers associated with the object type. For this purpose, in this test method, objects of various types are created using the dedicated `ObjectFactory` class. For all, regardless of the type, the same [GoTest][GoTest] test method is performed, which checks the presence of the attribute and tests the selected property. For this purpose, an enumeration type is defined in this class, in which the values are also random. The Tn enumeration type was used to indicate which object should be created from which type. But here there is no direct relationship between the identifier used in the enum type and the type identifier (with the type definition). + +#### CreateObject method + +The [CreateObject][CreateObject] method is responsible for creating objects of various types. Because it creates objects of different not related to each other types, the return value must be of the `object` type, which allows returning any object. Therefore, after calling `CreateObject` we don't really know the type of the returned instance. Hiding the type of the created object is intended to mimic operation on unknown types. Of course, this is just a simulation for this example. Once again, I wanted to emphasize that the tests are solely used to demonstrate certain features and the possibility of using reflection for serialization/deserialization. + +#### AttributedClassInstanceTest + +To show how to operate on objects without referring to their type definitions we can recover the features of the type for which these objects were defined. Check out the example from the [AttributedClassInstanceTest][AttributedClassInstanceTest] test method. Once again, it instantiates a variety of types having the same feature and executes test against this feature. + +Now the question is: how to achieve a similar situation as before, i.e. how to recover the features of an object type without knowing the type. we already know that this can be done by creating a `Type` instance for the selected type definition using the `typeof` keyword and the type identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the `System.Object` type comes in handy. Let me remind you that this operation is inherited from the base type `Object`. It is a very basic type for all types. So in our case, reflection starts when a `Type` instance is created. This instance can be created for a selected type definition and for a selected object without knowing its type. It should be emphasized here that based on this example, we can conclude that reflection is related even to the `Object` base type. + +To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][[system.type] abstract type, which contains a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the `typeof` keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest]. + +#### Managing an object State + +There is one more issue to discuss, namely how to control the state of an object, i.e. reading and writing values to its members without referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. + +As an introduction, our task now is to implement a library class that enables reading and assigning from/to property defined as a member of a type. To show how to implement this functionality, let's use a previously defined class that has a random name and several properties defined, the names of which are also random. The main goal of using a random definition is to explain how to deal with invisible types. + +In the test project, the `ReflectionUnitTest` test class includes the [AttachedPropertyTest][AttachedPropertyTest] test method, which contains a program fragment showing how to use such a mechanism for managing a property value of an object without having to refer to its type definition. However, it should be emphasized that to implement this functionality we need to know the name of the property and its type. This requirement must be fulfilled because the language is highly typed. The [AttachedProperty\][AttachedProperty] class, which is the implementation holder of the reading and writing operations, is implemented in a separate library project. So obviously the library class won't be able to refer to this type because it doesn't know it - it is invisible for many reasons. We will analyze this class based on the example of the [AttachedProperty\][AttachedProperty] class. The previously used type of the example class [Siyova16][Siyova16] serves as a simulation of any type. + +In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a target object of type [Siyova16][Siyova16] that is to be controlled. It is worth emphasizing that creating the target object is redundant here because, in a real scenario, we should assume that the object is already created elsewhere. In the next step, a surrogate object as a wrapper of the target object is created. The surrogate object functionality is to enable reading and writing to the selected property from the target object without referring to the type of the target object. The expected behavior of the wrapper class is that it has a property `Value` to which value can be assigned to and read from. These values are transferred transparently to and from the target object that is passed to it as an actual parameter of a constructor. + +#### AttachedProperty + +The functionality enabling the possibility to manage a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course title "Information Computation". The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. As a wrapper, the first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. To solve that the type of the target object is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object is conveyed by a new instance of the `Type` type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. + +[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 +[AttachedProperty]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 +[system.type]: https://learn.microsoft.com/dotnet/api/system.type +[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 +[CreateObject]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 +[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 +[Siyova16]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 + +### Attributes + +#### AttributeClass + +Let's start by creating a very simple class used as a starting point for the discussion. It has only one method. The functionality of this method is not important in the context of discussion, but the method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of syntax errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used any further. This way we try to fix an issue by preventing referencing of insufficient code instead of replacing it. In other words, there will be no further references to it in new programs. + +We can use an attribute for this purpose - the `Obsolete` attribute. To observe this attribute and the effects it causes, let's open a test window and add a test. On the right side, I added a test class. Let's add a test method to this class. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports an error; reports a warning to us. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. + +This warning should make us no longer use this method and should use some other alternatives instead. Of course, we could use a regular comment here. Unfortunately, this will cause us to lose the warning on the right side that we should not use this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for communicating with the reader of this text - after all, the program is a text. Attributes, on the other hand, are a mechanism for communicating with the compiler. And as we will see in a moment, not only with the compiler. + +Since we may decide that this was not a good idea, let's go back to the previous entry in which we use the attribute and ask what this attribute is. The F12 key takes us to the definition and we see that the attribute is a derived class of the base class `Attribute`. Now we can formulate a key question for us; whether we can define our own attributes, which we will then use to add them to the program content and use them later in other programs. + +#### CustomAttribute + +Here, I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the `Attribute` base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify two things. The first one is what additional information we want to convey using it. And second one, with what other linguistic constructs - called targets - it makes sense to associate this information. + +The first task - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (type selection) in the form of data and adding appropriate properties (value holder) that will convey this data. In this case, it is the `Description` property, which is of type `string`. This way some descriptions expressed in natural language may be added to the target. Notice that also a constructor is added here, which is responsible for initializing this description when an object is created. + +The second task of choosing where adding this additional information by employing attributes makes sense may be accomplished by associating an existing, dedicated attribute with a definition of a new attribute class. And here's a crucial note about terminology. I used the term attribute for both (a) to name a class that is derived from the [System.Attribute][system.attribute] base class and (b) also as an identifier that is used elsewhere and surrounded between square brackets. Maybe it sounds puzzling but it is a typical recurring reference to the joint terms. In other words, we use an existing attribute to define a new one. The [AttributeUsage][AttributeUsage] attribute is predefined by the built-in definitions of this programming language that allows expressing where adding a new attribute makes sense. + +Let's examine the features of the newly created `CustomAttribute` class using the unit tests [ReflectionUnitTest.CustomAttributeTest][CustomAttributeTest]. It just instantiates an object of this class and then compares the value of the embedded property value with the initial one. This way we can prove that this class behaves like any other regular class. + +Keeping in mind that the newly created attribute is a class, let's try to use it to add additional information to the previously defined `AttributeClass` class. So a linguistic construct appears, where between square brackets we will have the name of the class and additional data that we want to be associated with this linguistic construction, with this class. Since this is additional data, we call it meta-data; in other words, data describing data. Since in this case, the data described is a linguistic construction, there is the text of the program - the program becomes data. The question is how this data can be used throughout the processing process. Let's see this with an example of a unit test where we try to retrieve this information; and recover this data. + +From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a construction call. A detailed discussion of these linguistic constructs syntax is beyond the scope of the example. To possibly fill in the gaps in this respect, I recommend the C# language user manual. From now on, we will only focus on the semantics, i.e. on the meaning, of these entries. + +So let's add a test method in the test class, in which the code will refer to `AttributedClass` a class that has been assigned an attribute. To refer to the type the [typeof keyword][typeof] is applied. As a result of using `typeof` an object of the `Type` type is created for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of `Type` type that will contain a reference to the object representing the `AttributedClass` class definition. Notice that to avoid code cloning the test continues in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttribute` instance method. Additionally, in this case, I specify that I am only interested in attributes of the selected type. We can then determine that I am indeed getting an array with exactly one element in it. This element is of the `CustomAttribute` type, i.e. the type we added before the class as a class attribute. + +Therefore, we can return to the discussion about semantics, i.e. the meaning of the notation between square brackets. We see that the `GetCustomAttributes` method creates objects. Objects that are associated with selected language construct, in this case, `AttributedClass`. It looks the same as if we used the `new` keyword to create an object of the `CustomAttribute` class. After creating the object it can be used as if it had been created using the `new` keyword. + +So, once again, back to the heart of the topic. We can ask what role this construct plays. I mean where the class name is placed between square brackets. A class that is an attribute, i.e. a class that is a derived class of the `Attribute` class. We see that the main purpose of this construct is to describe the creation of an object, and therefore answers the question of how to create an object. This way we can conclude that it is equivalent to the constructor call, which is usually placed after the `new` keyword. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. + + +[system.attribute]: https://learn.microsoft.com/dotnet/api/system.attribute +[AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute?view=net-7.0 +[typeof]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 +[CustomAttribute]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 +[CustomAttributeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24C21-L24C21 +[GoTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 ## Cryptography basics diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 4ac203f5..31762281 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -35,7 +35,21 @@ Everything we've talked about so far seems quite obvious, but since some file fe ### Fundamentals -To save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the object containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file. +Let's start with the fact that typically we utilize object-oriented programming. This means that at runtime we must deal with objects that are located in the working memory (RAM) of a computer. Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Therefore, object data can be organized into structures and linked by references. + +On the other hand, as we mentioned already, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element. + +And here the first problem arises, namely the question of how to combine these two worlds. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. + +Again, to save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. + +So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no measure of simplicity in this case. However it is obvious that cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using also the library concept. + +If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to define one more problem. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. + +Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my opinion is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to design or build a custom washing machine, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case. + +So let's summarize this discussion. To simultaneously use object-oriented programming and save data as a bitstream, our programming goal must be to combine two worlds. First, in which the data is in object form. The second world is data in the form of bitstreams. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of an objects graph into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. > To learn more about the serialization visit the MSDN: [Serialization in .NET][STLZTN]. @@ -51,14 +65,46 @@ You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML ### Visualization +One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kind of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? + As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (**stylesheet file**) to match an underlined group of elements and make it come out as a table. > To get more about how to start with XSLT visit the W3C School: [XSL\(T\) Languages][XSLW3C]. ### Reflection +In this chapter, we will touch on the subject of reflection, i.e. we will enter a world in which definitions in the program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. The reflection is a good topic for an independent course. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and accessing metadata about types. + +So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows avoiding repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet; these types are yet to appear. We want to offer a general library that will be used for various types, i.e. for custom types that the user will define these types according to personal needs. The only thing we can rely on are the types built into a selected programming language because they are immutable. + +If we need to deal with custom types that we do not know, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion based on built-in custom functionality in new types. Finally, we should consider applying reflection, where type definitions become data for the program. + +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is the design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples](./DataStreams/README.md). Reflection allows to write the program in such a way that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. + +The language we have selected for education purposes is based on the concept of types. It is strictly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be implemented in a generic way without referring to type definitions, because the types may be unknown at this time. + +Let me remind you that our goal is to automate data transformation between object graphs and bitstreams. We want this process to be mutually unambiguous, repeatable, and automatic. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bit stream into an object graph, requires creating an instance of the object and assigning values to the object's fields or properties to recover its state based on the data obtained during deserialization. + +The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. reference variables. + +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples check out the document [Implementation Examples](./DataStreams/README.md) + +#### Conclusion + +It's time to summarize selected features of reflection. The examples discussed show how to represent type features as [System.Type][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` method. In both cases, an object-oriented type description is created. The examples discussed also show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. + +[system.type]: https://learn.microsoft.com/dotnet/api/system.type + #### Attributes +Another topic is directly related to the issue of serialization/deserialization, namely attributes. Attribute is a concept used in various programming languages. They are used to add additional information to program text. Different languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages. + +So the question is what are attributes? I propose to put this answer in the context of program snippets prepared using the selected programming language that will be used to explain the attribute linguistic construct. A description of the code snippets is available in the document [Implementation Examples](./DataStreams/README.md). + +Based on these examples presented in the mentioned above document the discussion may be summarized as follows. An attribute is any class that inherits from the `Attribute` base class defined in the environment of the selected programming language. In addition, it also means a description of how to instantiate an object of this type, i.e. a language construct that we place before another language construct to which we want to associate additional data using an attribute. Objects that a programmer creates to implement an algorithm that is executed by the program. For this purpose, we use the mechanisms provided by reflection. + +The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes but examples will be a subject of further discussion. + ## Cryptography basics ### Hash From 07aa7959b607a8b00be9e0e541999a0df00aecad Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 1 Dec 2023 22:01:51 +0100 Subject: [PATCH 05/67] ExDM Add documentation to the selected parts of the code #369 - working on - backup documentation. --- .../.Media/Part3-N80-10-Diagram.png | Bin 0 -> 6078 bytes .../.Media/Part3-N80-20-Rekurencja.png | Bin 0 -> 26316 bytes .../DataStreams/DataStreams/README.md | 90 +++++++++++++++ ExDataManagement/DataStreams/README.md | 109 ++++++++++++++++++ 4 files changed, 199 insertions(+) create mode 100644 ExDataManagement/DataStreams/.Media/Part3-N80-10-Diagram.png create mode 100644 ExDataManagement/DataStreams/.Media/Part3-N80-20-Rekurencja.png diff --git a/ExDataManagement/DataStreams/.Media/Part3-N80-10-Diagram.png b/ExDataManagement/DataStreams/.Media/Part3-N80-10-Diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..a3bc8862e61cd723f267558da8cf022b9184a79a GIT binary patch literal 6078 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 literal 0 HcmV?d00001 diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 62064e84..cdcfd85d 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -125,6 +125,96 @@ So, once again, back to the heart of the topic. We can ask what role this constr [CustomAttributeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24C21-L24C21 [GoTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 +### Serialization Part 1 + +On the screen, we see an example class named [TP.DataStreams.Instrumentation.SelfControlSerialization][SelfControlSerialization] that contains three properties. One of which is named `AverageIncome`, and returns the calculated value, so it returns the result of an expression. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to remember it. The constructor of this class initializes the initial values of this class when the object is created. + +To transform an instance of this class (to serialize it), first, an attribute has to be associated with this class that will indicate that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. We already know a condition that must be fulfilled thanks to these values. Theoretically, It enables the selection of them. The question is how to do it. + +## SerializationUnitTest + +The first approach to selecting values contributing to the object state is to have built-in functionality allowing the selection of values that contribute to the state of the object is the first step. It means moving this responsibility to the target class. Unfortunately, It solves only partially the problem because this functionality must be implemented each time an instance of a class is to be sterilized. Let's look at the serialization process using a unit test in this context. The test method [TP.DataStreams.SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. + +[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 + +In this test class, we create an object of the class that is to be serialized next time. In the next step, we must have a class that implements the serialization functionality; I have prepared a class called `CustomFormatter`. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a stream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to its content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. + +After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to examine its content. + +## CustomFormatter.Serialize + +But now let's move on to the implementation of the [TP.DataStreams.Serialization.CustomFormatter][CustomFormatter] class. Our `CustomFormatter` was created as a class that inherits from the [Formatter][Formatter] class. The `Formatter` class is defined in the language library and it implements many operations to avoid cloning code and implement the same functionality over and over. Using this type to implement serialization it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and use custom functionality allowing to select and read values that contribute to the object state. Thanks to this, we can retrieve them from this object. , i.e. use the `GetObjectData` operation. As a result of this operation, we will have access to all values. We can perform serialization operations for all values. So we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, we have operations related to creating an XML document and saving this document to a file. + +But now let's move on to the implementation of the [TP.DataStreams.Serialization.CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] is defined as a class that inherits from the [Formatter][Formatter] class. The `Formatter` class is defined in the language library and it implements many operations to avoid cloning code and implement the same functionality over and over. + +Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection to read values that contribute to the object state. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve them from the target object by using the `GetObjectData` operation. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. + +It is worth emphasizing that in our example we only write `double` values and that is why I only implemented the `WriteDouble` method, which creates an instance of `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but we assume here that it must implement the `ISerializable` interface, and therefore must provide an implementation of the `GetObjectData` operation method. + +[CustomFormatter]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 +[Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter +[SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 + +## Part 2 + +As an example, let's consider the [Catalog][Catalog] class, which is to contain an array of CD descriptions. So here we have property, which is an array containing CD descriptions complaint with the `CatalogCD` class defined in the same file. Let me remind you that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties. Well, in general, they don't have to be properties. + +[Catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 + +Instead of using a self-serialization approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from which you can both read the current value and substitute new values. If this convention applies to the target object and all indirectly referenced we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. + +The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so he can't know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. + +The rule that we will remember in the output stream all the values that we can read from public properties that have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this type are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data to newly created objects are in the same place, by using the same property. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. + +As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. + +The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. + +When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. + +However, the same data can be used by the same program but not the same program instance, we also have to take into account that the programs may be in different versions. In such a case, there is a problem of data compatibility between different versions of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allow the creation of a graph equivalent to the original graph. + +Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. + +We also talked about the human use of streams. In this case, further requirements appear. Among other things, this representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is. + +If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. + +To better understand these issues, let's look at them in the context of code examples. Maybe we will also be able to determine solutions that may be useful in this regard. + +### Catalog class + +If we assume that objects of the types defined by these classes will be serialized into XML texts, the form of the stream may be, for example, one in which we have a root element `Catalog` containing several `CD` elements describing individual discs. With this type of XML file; we can see that it is a text file because we have defined the encoding for this file. The problem with this type of XML is that if it contains any errors, for example; In this case; it's hard to say that these are mistakes; some modifications; we see that if we enter `CD1` here instead of `CD`, we will get an error, but if we write here; we will complete; so let's also add one, then this file is correct from the point of view of XML syntax. However, it is difficult to imagine a serialization mechanism in which two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, well, it does not represent the semantics we would expect. The semantics that is written by our class. + +Adding this attribute here causes it to refer to the XML schema. The XML Schema allows to define additional syntax rules that will be used to check this XML text against these rules. Hence, we can say that without the XML Schema, it is just XML text. The syntax rules for the XML file must be met in a valid XML document. After adding an XML schema we can define how to construct the document that is to be verified using this additional schema document. In case the text is not compliant with the schema it should be possible to verify this document and receive information that this document is not formatted correctly. + +After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for the deserialization process. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax correctness. If the document is not valid concerning these rules, do not attempt to recreate the graph of objects and their states. + +If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. Since we recognize the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the XML schema and then create classes based on the XML schema? But let's try to see how this can be achieved using an example. + +To generate classes in CSharp; I have prepared a script that uses the XSD program (this program is available in the Visual Studio environment) and now let's try to use this program to generate the classes that we previously created manually, let's now try to generate them automatically based on the `Catalog.xsd` schema, which we just discussed. To do this, we must have a console window open to run this program. I entered it here and ran it. We should get the result in the file we previously created manually. I confirm that we want to accept all modifications and we see that this program was indeed generated automatically. At the same time, a lot of different attributes appeared here. So here we are dealing with something called attribute programming. Indicating not only what is to be transformed, what data is to be transformed, but also how. How the result should be formatted, what the result should look like in the form of a stream, in this case, it is XML text, and after adding the schema, it is already an XML document. + +Tutaj widzimy, że mamy faktycznie klasę `Catalog`, mamy tutaj tablicę opisu poszczególnych płyt CD i tutaj mamy kolejna klasę, która opisuje właśnie pojedynczą płytę. I wszystkie te properties, które mieliśmy poprzednio, ale proszę zwrócić uwagę, nie mam tej którą poprzednio dopisaliśmy. Ona zniknęła, została nadpisana, ponieważ ten program wygenerował w sposób automatyczny tekst nie przejmując się tym, co było poprzednio. Stąd też pora przypomnieć sobie nasze rozważania dotyczące definicji częściowych. To jest pierwszy przykład, w którym widzimy, że ta koncepcja jest niezbędna w sytuacji, kiedy mamy do czynienia z auto generowanym kodem, ponieważ auto-generacja kodu zawsze będzie ignorowała wszelkie modyfikacje, które my wprowadzimy do tego pliku. + +Here we see that we have a `Catalog` class, here we have an array of descriptions of individual CDs and here we have another class that describes a single CD. And all the properties we had previously, but please note that I don't have the one we added previously. It disappeared, it was overwritten because this program automatically generated the text without caring about what was there before. Hence, it is time to recall our considerations regarding partial definitions. This is the first example where we see that this concept is necessary when dealing with auto-generated code because auto-generated code will always ignore any modifications we make to this file. That's why the message at the top warns not to change this file. + +In this lesson, we showed how attributed programming and reflection can be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. Thanks to the use of schema XML, we also showed how documents can be verified and how document syntax can be saved using a schema and thus automatically generate program text in various languages, ensuring data conversion between various technologies; and between different programming platforms. + +## Part 3 + +This is the third and last lesson dedicated to serialization, i.s. the process of transforming a graph of objects into a bitstream. + +### In previous lessons + +In the previous two lessons, we talked about how to build universal libraries that will allow you to transfer object data to a stream and from a stream to object data. We also talked about how to use attributes and reflection to ensure full automation of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Automation in this context means that the reflection is used to prepare a library and as a result, the conversion process can be performed without human intervention. We also talked about stream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe the semantics of a document and, consequently, to create the source code of a program that will be used in the serialization and deserialization process. + +### What hasn't been covered yet + +We didn't manage to cover all the topics during the previous lessons, so let's look at which topics should be covered in this lesson. + +First of all, we need to deal with data visualization, so as to enable the use of streams also by a human computer user. Issues related to graphs are also on the list. Let us introduce two terms: hierarchical and non-hierarchical graph. Loops may occur in non-hierarchical ones. First things first. Let's start with data visualization, taking into account, firstly, natural language, ergonomics, and graphical user interface. + ## Cryptography basics ### Hash diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 31762281..a59d100f 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -105,6 +105,115 @@ Based on these examples presented in the mentioned above document the discussion The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes but examples will be a subject of further discussion. +## Part 1 + +Now we are ready to return to discussing issues directly related to streaming data. During the previous episodes, we learned about the mechanisms of managing streams, especially in the context of files. We also learned the differences between bitstreams, text, and documents. We also learned about reflection, which can be useful for us. Now let's answer the question of how to create streaming data and how to use it. + +First, let's try to define the purpose of our missions and the limitations we must deal with. + +We've already talked a bit about why we need streams handled using files. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. Data transfer between applications is another use case. I would like also to remind you that we have already talked about an example where we have a web server and a web browser. There is a virtual wire between them. We can only send bitstreams over this wire. The temporary and intermediate data repository is another example. + +These are just a few examples, but let's limit ourselves to them because they are enough to justify the importance of this topic. Let me remind you that so far we have established that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of the object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for changing the bitstream into a graph of related objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. + +Before we take the next step, it is worth realizing what we need. Here, the list of requirements includes access to the data that will be the subject of the transition process, so we need values that will constitute the state of the objects and the relationships between these objects. The next thing we need is to implement an algorithm that will describe in detail this data transformation, in such a way that this transition is mutually unambiguous. And here, the mutual unambiguity of this process does not mean that each time we serialize we will obtain an identical bitstream. + +It is enough for this bitstream to be correct, i.e. such that an equivalent graph of objects can be reconstructed based on the stream content. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the stream content. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we will receive an identical stream of bits. Then this bitstream can be compared, for example, to check whether the process is the same as before. And this is where it must be stressed that equivalence has no measure in this respect. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the programmer using custom measures. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. + +It is enough for this bitstream to be correct, i.e. such that an equivalent graph of objects can be reconstructed based on the stream content. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the stream content. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we will receive an identical stream of bits. Then this bitstream can be compared, for example, to check whether the process is the same as before. And this is where it must be stressed that equivalence has no measure in this respect. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the programmer using custom measures. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. + +Once we have data for transformation obtained from values that constitute the state of objects and the relationships between these objects. Once we have the implementation of the data transition algorithm, we now need to determine the form of the target stream. So we need to determine how to combine bits into words, how to combine words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules. + +Finally, two additional notes regarding the target form of the bitstreams. The list of applications that we mentioned previously includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these semantic and syntactic rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another manufacturer (by another developer). We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important here. It is important that a person is able to read this sequence of bits, and therefore be able to combine sequences of bits into words and words into correct sequences of words. And that these strings of words had some meaning for him (had some semantic value). In the latter case, it is important to first be able to combine these bit strings into letters so that the record becomes a text record. Let me remind you that the text record is a binary crag for which an encoding has been specified. + +From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and, in fact, an equivalent object graph can be created. + +In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. + +### Conclusion + +The example discussed shows the mechanism of transferring an object or more precisely the state of the object to a bitstream. In this process, the state of the object is determined by the programmer by implementing an appropriate mechanism for determining the values that contribute to the state of the object. Since determining the state of an object is done (implemented) manually by the programmer in this approach, it is difficult to call this mechanism fully automatic. + +## Part 2 + +From the previous considerations, we know that serialization is the process of transferring data from object to stream form. This transfer process must start with a selection of values contributing to the state of objects. The previously analyzed SelfControlSerialization class is based on internal reading operations of the values constituting the state of the object contained in the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class that must implement it to be serialized and the class that implements serialization to read relevant values to accomplish this operation. In conclusion, serialization is a data transfer process in which an important feature is automation, i.e. an implementation that does not depend on the type of the serialized object, so it can be offered as a library solution and therefore used many times. + +We must be aware that the proposed solution is not perfect. Actually, there are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. + +The first issue that we can put a question mark on is automation. If we look at the code, we see that we must manually ensure that the appropriate values constituting the state of the target object are saved in the array, which will be passed on to be written to the stream. + +The second issue is the necessity of synchronization of the custom operations carried out during the serialization with the operations carried out during deserialization. In the example discussed already, we see that we have two separate pieces of custom code that are responsible for this, and therefore any modification in one piece must be reflected in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect, but it still does not solve the problems. + +In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document. + +An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user. + +We also completely ignored the operation of graphs, i.e. a set of objects connected by references. + +Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program. + +## Part 3 + +### Catalog XML + +Let's go back to the XML file and the question of how to visualize data for a user, for a human. You stated that an XML file is text and it is a bitstream for which the encoding is defined. For these circumstances, you can use any text editor, what I am doing now to display it to the user. If this type of file, formatted this way, is seen by a person who is not familiar with XML technology, it will be very difficult for him to read the information he needs from this document. We can imagine that this file will be very long, that there will be, for example, a hundred CDs. And then using such a document is difficult. + +To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows the transfer of XML text to any other text by adding this additional line in the XML file. Here I have defined an additional document that specifies how to convert an XML document to another text. I have prepared an example XML document here, which is a stylesheet document and it is constructed in such a way as to convert the source XML document into an HTML document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document, we can see that it is simply a source document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case it is an HTML file based on a defined XML stylesheet document. + +### To be done + +Finally, a few notes related to XML transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. + +### Hierarchical and Non-hierarchical Serialization + +Let's move on to the last issue related to the transfer of objects connected to each other and forming graphs. So the objects have references between them and these references will determine the structure of the objects. Generally, we can distinguish two types of these structures. The first one is hierarchical interconnection, which resembles a tree. In this case, starting from any point of such a structure and following the references we will never return to the starting point. In the case when graphs are non-hierarchical, then there are points in the graph that when we start from these points and follow along the references, it is possible to return to these points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization of the same object. When to tell that an object has been serialized. For some objects, we have transferred them to a streaming form. But I propose to discuss this issue in detail. + +### Cyclic references + +Previously an object graph was presented as interconnected objects in such a way that they create a tree, or at least a layered model, therefore in this model, we can distinguish objects that are at the top and objects that are beneath in the hierarchy. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. But it often happens that these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. + +![Fig. 1](.Media/Part3-N80-10-Diagram.png) + +Assuming that instances of all classes are created, the question arises which of the objects should be subject to the transformation process first. Therefore, while in the previous case, we could insist that the hierarchy between objects is dependent on the order of representation of these objects in the stream, in the case when objects are connected recursively (they form a cycle), such an assumption cannot be made. Hence, here we enter the issue of equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different streams will contain equivalent states of individual objects and these object states will be placed in different orders will be equivalent to each other, which means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be compared with each other. + +![Fig. 1](.Media/Part3-N80-20-Rekurencja.png) + +Another issue that should be addressed here is when the transformation process should be ended. If we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class, and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. + +### ReadWRiteTest + +The next topic is how to serialize the previously defined `Catalog` class, for which we have defined serialization rules. To serialize objects of this class we use reflection and attributed programming. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the `Catalog` class instances. For this unit test, however, it must be populated with test data. This class is defined in unit tests, so I can add an appropriate method to this class that will fill the object of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e. text obtained as a result of an external program, is not a good idea, because, after each modification and generation of a new text, our work is overwritten. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the necessary operations that we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [BEBUG][Debug]. Coming back to the unit tests, we see that an object has been created and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generalized, generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the creation of the file. + +The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: + +``` csharp + _xmlSerializer.Serialize(_writer, dataObject); +``` + +All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. + +Back to unit testing. For testing purposes, an operation is performed to read the same file and create equivalent objects, i.e. deserialization implemented in the following assignment instruction + +``` csharp + Catalog _recoveredCatalog = XmlFile.ReadXmlFile(_fileName); +``` + +We can now check whether the result is consistent with our expectation, i.e. whether the original object and the equivalent object have the same values that are part of the object's state. + +There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring the object graph. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph is equivalent to the original one strongly depends on the type definitions and cannot be performed universally, therefore it must be the developer responsibility. + +### SerializationUnitTest + +Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The symbol of identity is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the identity check operation in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equals operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings according to the type `string`. These strings are generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that it may happen that the string formatting depends on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. + +### Non-Tree Graph + +At the end of our considerations, let's go back to non-tree graphs. In such graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present.. We may encounter two problems here. Firstly, we may encounter many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause the cloning of one object in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-stream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process,. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing applicability of them, you should pay attention to these issues. + +[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 +[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations +[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 + ## Cryptography basics ### Hash From 3c7feb4b520636f8c2e0453785a0c01a2e411817 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 10 Dec 2023 21:26:58 +0100 Subject: [PATCH 06/67] ExDM Add documentation to the selected parts of the code #369 - working on - Recovered section: Data Streams --- ExDataManagement/DataStreams/Cryptography.md | 180 +++++++++++++++++++ ExDataManagement/DataStreams/README.md | 24 +-- 2 files changed, 192 insertions(+), 12 deletions(-) create mode 100644 ExDataManagement/DataStreams/Cryptography.md diff --git a/ExDataManagement/DataStreams/Cryptography.md b/ExDataManagement/DataStreams/Cryptography.md new file mode 100644 index 00000000..460e14e7 --- /dev/null +++ b/ExDataManagement/DataStreams/Cryptography.md @@ -0,0 +1,180 @@ + + +# Cryptography + +## Hash + +### Introduction + +Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. For now, I mention this seemingly strange combination of topics to ask for your patience. Everything will be clear soon; I promise. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. + +### What's our problem? + +We already know how to create bitstreams. We can also attach coding to them, i.e. the natural language alphabet. The next step is to assign syntax and semantics that allow the streams to be transformed into a coherent document and therefore enable recovery of information from these documents by a computer user. If this is not enough, we can also display these documents in graphical form. We will come back to this last issue because we have not said the last word here. + +However, the most important thing is that a stream is still a stream, so it is a sequence of bits and can be sent, archived, and processed by another computer. It must be stressed again that this infrastructure is always binary. Well, this is where the problem arises. It is required that this binary document is protected against malicious operations. For example, if this document contains a transfer order to our bank, hence in this context the documents become real, material, and meaningful. + +### Goals + +If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. + +It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore no unauthorized persons should have access to it. We can then proceed in such a way that using the bidirectional conversion mechanism, a source bitstream is replaced with another bitstream to which we cannot attach the encoding, syntax, and semantics rules any longer. As a result, it makes it impossible to associate information with this bitstream. It resembles a white noise. However, any person who has the right to access this information; should be able to recover the source bitstream and as a result associate back the encoding, syntactic, and semantic rules to enable the recovery of the information represented by the source bitstream. + +When talking about documents such as a transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. + +## Hash Function + +So let's move on to the first option for securing streams, which is the hash function. It is a function using a transformation of the input bitstream to calculate another fixed-size bitstream. The second feature of the received output bitstream is that the reverse transformation, i.e. recovering the stream of bits that were the input parameter of this function, is practically impossible. One way to use such a function is to add this hash to the bitstream that we want to protect and then if the whole thing is archived or sent from one place to another, this hash - the result of this function - can be used to check whether the bitstream has not been modified in the meantime by calculating this function again and comparing the result with the hash attached to the source bitstream. A certain drawback of this solution is that the algorithms for these functions are widely known, so if a "man in the middle" wants to modify the source bitstream, they can of course recalculate the hash function and determine a new value of the hash function for the previously modified bitstream. + +We will return to this topic later, but now we must address how to deal with it. Well, very often such protection is used so that the value of the hash function is entered into the next block and a chain protection is created. The next block, which is also a data stream, containing this hash and pointing to the previous block means that we cannot modify the previous block because the value of the hash function is stored in the next block. This type of chain security is used when using crypto-currencies, for example in the case of bitcoin. + +We will return to this topic later, but now we must address how to deal with it. Well, very often such protection is used so that the value of the hash function is embedded into the next block and a chain protection is created. The next block, which is also a data stream, containing the hash and pointing to the previous block means that we cannot modify the previous block because the value of the hash function is stored in the next block. This type of chain security is used when using crypto-currencies, for example in the case of bitcoin. + +Blockchain security helps ensure that if someone wants to modify one of the blocks in the chain, they must modify all the blocks that have been attached to that chain later. Of course, this is still possible, so further safeguards are needed. Among other things, the growth rate of this chain, i.e. the speed of adding subsequent blocks to the chain, is greater than the possibility of modifying fragments of the chain. + +This topic is far beyond the scope of this course, but I refer anyone interested to the repository on GitHub. There is a practical example of how to implement such a chain. To make navigation easier the repository is managed by me. + +### Cryptography Helpers Unit Test + +So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, I have prepared two unit tests that use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, i.e. a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. They can associate syntax and semantics with a specific password to make it easier to remember but, fortunately, these syntax and semantics rules have no meaning here. Let's see what problems we have to deal with here. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method, the input parameter of which is a string of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have defined encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. + +In the next line: + +``` csharp +return (BitConverter.ToString(hashValue), Convert.ToBase64String(hashValue, Base64FormattingOptions.InsertLineBreaks)); +``` + +a bitstream generated by the hash function is converted into two text forms. The first form results from the conversion of the BitConverter class, which replaces a bitstream into text compliant with the string type. The second form is a string with a notation consistent with the hexadecimal code. + +It's different in the case of using Base64. This conversion method is available in the language library and has many overloads, but they all implement the RFC 2045 standard. And here another yellow flag should be raised because it is not the only standard that defines Base64 notation or Base64 conversions. Moreover, based on the RFC standards database, it is easy to conclude that several RFC documents previously defined this conversion. So we can expect that this standard has been modified over time. Therefore, the question is about the length and lifetime of the calculated hash function if it is saved as text following Base64. It may turn out that the input string has not changed, but in the meantime, the implementation of Base64 conversion has changed and therefore using this string for validation is useless. In unit tests, we have two assertions, which compare the result returned by this method with precisely defined strings of hard-coded characters. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal or Base64 changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a string of bytes to a string of characters does not always have to be the same and may change over time. So why use it; someone may ask; In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the mail system has strictly defined characters that it can use and we can take into account the fact that attaching such a raw bitstream could have invalid characters that cause problems with the correct operation of the mail system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. + +## Encryption + +### Introduction + +This is the next part in which we will discuss issues related to the cryptographic security of bitstreams. + +### Problem we Have + +Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the result of the hash function to the destination in such a way that third parties cannot modify it. Otherwise, modifying the source stream is not a problem, and as we saw in the examples in the previous lesson, calculating a new hash function value that takes this change into account is quite a trivial operation. + +### Goals + +So let's deal with selective access. Selective access is the ability to read information that is associated with a bitstream only by people who are authorized to do so, and who have the right to obtain such information. We can accomplish this in two ways. + +The first way is to share the stream, for example, a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file), he will necessarily not have access to the information that is associated with this file, or rather with this stream. + +This topic generally deals with operating systems, so it is outside the scope of our interest. So we have to deal with another security method, one that will allow us to transform the bitstream into a form that no authorized user is unable to associate with the stream any information. This method we call encryption. + +### Encryption fundamentals + +This transformation operation, which I mentioned earlier, is called encryption. It is a reversible function of transforming a bit stream into another bit stream, and after the transformation, the encoding, syntactic, and semantic rules no longer apply. So, as a consequence, no information can be associated with the document. The result of this operation will depend on the K1 key. The K1 key is also a bit stream. The disadvantage of this solution is that the resulting stream is always the same. This is easily corrected if we add a few randomly generated bytes to the input stream; the so-called nonce; the result will be different each time, so we also protect ourselves against the possibility of repetition, i.e. using the same fragment, the same sequence of shoes, even without understanding it. To perform the reverse operation, i.e. restore the source bit string that was originally encrypted, a decryption operation must be performed. For this we will need the second key marked K2 in the drawing. + +### EncryptDecryptDataTest + +It is proposed to analyze the encryption and decryption process using the `EncryptDecryptDataTest` test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will place the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions + +```csharp-interactive + TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); +``` + +is to create an object that generates a key. The key really consists of two independent parts and can have different lengths depending on your needs. For default parameters, the length is 192 bits. The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. + +But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted file. Although this example does not show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. + +So let's see how the encryption process works. Let me remind you that we are encrypting an XML file that we already know from the previous examples and it is a directory containing CDs. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. It also has to pass an object that allows the calling method to keep track of the process as the process happens in stages. + +First, we open the file for the input stream, which contains the source data that will be encrypted. The data will be encrypted step by step and will be placed in a buffer that has a predetermined length. In this case, it is assumed to be 100 bytes. Encryption requires the creation of a stream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the user about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. So, to read it, we create an object of the `FileStream` type because when encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstream. The encryption process ends when we read zero bytes into the buffer. + +Then in the test method, after encrypting the source file, we check that the output file exists. There is an assertion that checks that this file exists and finally, we check if the number of bytes in the source file is equal to the number reported and written in the output file. + +And now we move on to the phase where we will decrypt this file; the one we created. The entire procedure is carried out in the `DecryptData` method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a completely different in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process will be carried out need the same key and the initial vector used while the stream is encrypted. + +So let's take a look at how the decryption procedure is implemented in the `DecryptData` method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using the buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read the content, so it will generally operate by decrypting the content of the specified file. In the `DecryptData` we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing encrypted content. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the `EncryptDecryptDataTest` test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file, the source file. + +## Conclusion + +To sum up, in the examples discussed, we learned another method of securing bitstreams. Consisting in encrypting them. We have two types of encryption. Encryption using symmetric keys, where the encryption side and the decryption side, i.e. recovering the original bitstream, use the same keys. from the moment of encryption up to decryption, the bitstream is highly likely to be secure because no information can be associated with it. So it cannot be used to recover the information it originally represented. In the next part, we will move on to asymmetric encryption. Precisely, not the encryption itself, because asymmetric encryption itself is not very efficient and is only used in selected circumstances. We will analyze examples illustrating scenarios in which encryption can and should be used. + +[CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 +[CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 +[EncryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 + +## Digital Signature + +### Preface + +Since streaming data is commonly used to represent information, because we use file systems, and because we send data over computer networks, data security must inherently be the subject of our special concern. Therefore, I propose to continue discussions on cryptographic security of streams. + +We have already learned about the hash function but still, there is a problem with how to distribute its result so that in different places of the IT system, in different places of the computer network, and in different locations in the world this hash can be used for to check the integrity of the bitstream - checking whether the stream and the hash have not been modified by a malicious user in the meantime. We also learned about symmetric encryption, in which we use the same keys in the encryption and decryption processes. And again we have the problem of how to distribute these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to use for encryption and decryption increases rapidly, that is, it increases precisely with the square of the number of participants who participate in sharing data. Or maybe asymmetric encryption will help here? + +First of all, I propose to deal with the confirmation of authorship. I associated this issue together with the topic of ensuring bitstream integrity. Why? Well, we'll address this question shortly. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. + +### XML Document Syntax Violation + +But before we move on to discussing how it works, I wanted to draw attention to a few important issues related to the XML documents. For example, consider the [catalog.example.xml][catalog] document that we already used in previous examples. Let's try to add a text to this document, for example, previously calculated hash function result expressed as hexadecimal text. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text document and is not suitable for further processing when we expect the document to follow XML syntax rules. + +What can we do? We can move this text to an element, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document complies with a certain schema, then this document will be rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. They will be very important to us. + +### Signing Process + +First, let me remind you of the goals. We have three of them. The first is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. The third goal is the nonrepudiation of the author. In the latter case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. + +The following diagram shows how we can achieve these goals. + +In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is assumed to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, send the whole result to another place, archive it, and in any case make it available to other users of this bitstream. + +To check its integrity and authorship, we can first recalculate the hash for the part that constitutes the source bitstream. This hash should be the same. To determine this, it can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the received hash with the hash that is calculated after receiving the bitstream. If these two hashes are the same, it means that, firstly, the input bitstream has not been affected because the hash is still the same. Secondly, since we used a public key that is paired with a private key, we can conclude that a specific person created this stream. For any other person, this decryption operation will not produce an identical hash. + +And now the last thing is how to ensure nonrepudiation. How to ensure that the person who originally signed this stream will not say after some time that it is not them, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity that has the private key, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. + +### CreateRSACryptoServiceKeysTest + +Let's move on to discussing how to implement this scenario using program code. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and indicates some methods on how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this subject, therefore let me encourage you to check out other literature at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some impact on this process performance and how quickly we can complete this process. Depending on the equipment we have, this number should not be outsized here. + +Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the program. It is not intended to be used for key distribution. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distribution over the network because XML is always a bitstream. In the end, all three forms of keys are returned as a result of this method. + +Let's go back to the [CreateRSACryptoServiceKeysTest][CreateRSACryptoServiceKeysTest] test method, where we check that the first variable is not `null`, so an object of the `RSAParameters` class is returned. We further check that the content of the XML documents - they are simply a text - that contains only the public key [PubliKey.xml][PubliKey] and the one that contains the public key and private key, are not the same. From the point of view of testing, these operations are not important, but they show how the `CreateRSACryptoServiceKeys` method works. The XML document that contains both the public and the private keys is located in the file [PubliPrivateKeys.xml][PubliPrivateKeys]. Of course, in the case of a private key, identity information is not important because, by design, a private key is only used by the owner. + +The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (stream users), by definition the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by the appropriate organization and it is this office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Discussing these issues in detail, as I said earlier, is far beyond the scope of this document. + +### XmlSignatureTest + +Let us now discuss how to implement the operation of signing an XML document and how to place the obtained signature in the document so as not to violate the rules of syntax control consistent with its schema. First, we will need an input file that will serve as a signed source document. For this purpose, we will use the file [catalog.example.xml][catalog] again. We will also need the keys. We will use the public key to check the validity of the signature. However, we will use the private key to sign the document. + +The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] test method. The signature is implemented in the [SignSaveXml][SignSaveXml] method to which we send the source document to be signed, the keys that will be used for signing, and the name of the document where the signed document is to be saved. In this method, apart from checking the correctness of the input arguments, we create an object of the `RSACryptoServiceProvider` class, which will be used to create a signature so that we can place the signature in this document. Signing itself means that we add a signature in the last instruction. To create this signature, we use the keys that we sent, so this object is initialized with the keys that were sent here so that the entire signing process takes place using the keys that will be further used to check the signature. Finally, the signed document is saved to a file. + +So let's go back to the [XmlSignatureTest][XmlSignatureTest] test method. We assume that we have already signed the document saved in the file and now we can move on to discussing the methods that check the correctness of this document. There are two overloads of the [LoadVerifyXml][LoadVerifyXml] methods. Calling the first overload, we do not transfer the keys. It is worth emphasizing that the document is loaded and checked using the public key stored in this document. With this solution, we do not have to bother with providing the public key. Of course, with this type of checking, we cannot confirm the author's identity because anyone can enter such a public key. The only thing we can do is check whether the document is consistent from the point of view of this key. The second overload of this method uses the already transferred keys and initializes the `RSACryptoServiceProvider` object, which is used to check the document authorship. + +Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To explain we must go back to the code for a while. To fix it this element `Signature` element has to be removed just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. + +[SignSaveXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 +[XmlSignatureTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 +[CreateRSACryptoServiceKeysTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 +[CreateRSACryptoServiceKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L88-L101 +[PubliPrivateKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 +[PubliKey]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 +[catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[LoadVerifyXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 +[SignedXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 + +## See Also + +- [XSL\(T\) Languages][XSLW3C] +- [Serialization in .NET][STLZTN] +- [XML Schema Definition Tool (Xsd.exe)][XSD] + +[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) +[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) +[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index a59d100f..c754bd94 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -11,7 +11,7 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams Preface +# Data Streams Preface`` ## Key words @@ -53,9 +53,9 @@ So let's summarize this discussion. To simultaneously use object-oriented progra > To learn more about the serialization visit the MSDN: [Serialization in .NET][STLZTN]. -## Useful Technologies +### Useful Technologies -### Validation +#### Validation Applications save working data into the files to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. **correctness** of the stored data has to be validated every time an application reads it back from the file. It must be carefully observed if the files are also modified by other applications or directly by users, because data corruption may occur. @@ -63,7 +63,7 @@ To address the validation requirement XML (Extensible Markup Language) as a text You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML schema or language classes from XDR, XML, and XSD files, or from classes in a run-time assembly. -### Visualization +#### Visualization One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kind of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? @@ -71,7 +71,7 @@ As the XML format is text-based it can be directly read and displayed by a varie > To get more about how to start with XSLT visit the W3C School: [XSL\(T\) Languages][XSLW3C]. -### Reflection +#### Reflection In this chapter, we will touch on the subject of reflection, i.e. we will enter a world in which definitions in the program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. The reflection is a good topic for an independent course. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and accessing metadata about types. @@ -89,7 +89,7 @@ The state of objects is the minimum set of values that is necessary to recreate So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples check out the document [Implementation Examples](./DataStreams/README.md) -#### Conclusion +##### Conclusion It's time to summarize selected features of reflection. The examples discussed show how to represent type features as [System.Type][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` method. In both cases, an object-oriented type description is created. The examples discussed also show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. @@ -105,7 +105,7 @@ Based on these examples presented in the mentioned above document the discussion The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes but examples will be a subject of further discussion. -## Part 1 +### Serialization Part 1 Now we are ready to return to discussing issues directly related to streaming data. During the previous episodes, we learned about the mechanisms of managing streams, especially in the context of files. We also learned the differences between bitstreams, text, and documents. We also learned about reflection, which can be useful for us. Now let's answer the question of how to create streaming data and how to use it. @@ -129,11 +129,11 @@ From the previous considerations regarding the transformation of object data int In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. -### Conclusion +#### Conclusion The example discussed shows the mechanism of transferring an object or more precisely the state of the object to a bitstream. In this process, the state of the object is determined by the programmer by implementing an appropriate mechanism for determining the values that contribute to the state of the object. Since determining the state of an object is done (implemented) manually by the programmer in this approach, it is difficult to call this mechanism fully automatic. -## Part 2 +### Serialization Part 2 From the previous considerations, we know that serialization is the process of transferring data from object to stream form. This transfer process must start with a selection of values contributing to the state of objects. The previously analyzed SelfControlSerialization class is based on internal reading operations of the values constituting the state of the object contained in the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class that must implement it to be serialized and the class that implements serialization to read relevant values to accomplish this operation. In conclusion, serialization is a data transfer process in which an important feature is automation, i.e. an implementation that does not depend on the type of the serialized object, so it can be offered as a library solution and therefore used many times. @@ -151,7 +151,7 @@ We also completely ignored the operation of graphs, i.e. a set of objects connec Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program. -## Part 3 +### Serialization Part 3 ### Catalog XML @@ -173,7 +173,7 @@ Previously an object graph was presented as interconnected objects in such a way ![Fig. 1](.Media/Part3-N80-10-Diagram.png) -Assuming that instances of all classes are created, the question arises which of the objects should be subject to the transformation process first. Therefore, while in the previous case, we could insist that the hierarchy between objects is dependent on the order of representation of these objects in the stream, in the case when objects are connected recursively (they form a cycle), such an assumption cannot be made. Hence, here we enter the issue of equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different streams will contain equivalent states of individual objects and these object states will be placed in different orders will be equivalent to each other, which means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be compared with each other. +Assuming that instances of all classes are created, the question arises which of the objects should be subject to the transformation process first. Therefore, while in the previous case, we could insist that the hierarchy between objects is dependent on the order of representation of these objects in the stream, in the case when objects are connected recursively (they form a cycle), such an assumption cannot be made. Hence, here we enter the issue of equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different streams will contain equivalent states of individual objects and these object states will be placed in different orders will be equivalent to each other, which means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be compared with each other. ![Fig. 1](.Media/Part3-N80-20-Rekurencja.png) @@ -214,7 +214,7 @@ At the end of our considerations, let's go back to non-tree graphs. In such grap [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 -## Cryptography basics +## Cryptography ### Hash From 1cdecf74c3b832d2632e9e46c50eb847913a2534 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 10 Dec 2023 21:47:18 +0100 Subject: [PATCH 07/67] ExDM Add documentation to the selected parts of the code #369 - working on - Added graphics related to signature --- .../.Media/P3.5-KryptografiaCzesc3.pptx | Bin 0 -> 740429 bytes .../DataStreams/.Media/PodpisCyfrowy.png | Bin 0 -> 51001 bytes ExDataManagement/DataStreams/Cryptography.md | 4 +++- ExDataManagement/DataStreams/README.md | 2 +- 4 files changed, 4 insertions(+), 2 deletions(-) create mode 100644 ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc3.pptx create mode 100644 ExDataManagement/DataStreams/.Media/PodpisCyfrowy.png diff --git a/ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc3.pptx b/ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc3.pptx new file mode 100644 index 0000000000000000000000000000000000000000..e93dc2ea37d68f7680aa3f48436779612b6c5e21 GIT binary patch literal 740429 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ⅇ^

X_<`RpIFiF3A}=V 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 xpD$STnlQy7~e+D`o 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

PLN#cJ8~oR5aMrL?jW>@v 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

+t8nCdwu zn|NJNdC$-nWl5d3V$I$Ww4++C>xi=EjR8MEy+uuLt;Gi@sq#+6sM*OCscx!HtT7PW z7`;&l6wujdM1y~URH#MnLgG}6f|%%7qc0koC%~Z7#nEb}N1oVhYOL38hv9Sv(B$Vu zl5-&`n8r!*ZLi&(ml9PNHxX?dM+;@X;~RA^#@#?}jX8%$uxTET7cz64Npp#Fj+Yxs zzn1P!WnfkXVvRt1F%921n+BvACN`URS~y_1!_(5a9yIM4z2+Ho#0S ziP5X%kUZc=_`k#O_O2yzg<4E_^qSX>u($G*oBrHr{{Z7HQKOj5Q8#Zgqk0@Mb)d?5 z#=Zl~q+8b4JHU<>(yRX6KtJ+!X!e;rz}6|b&HBxVP#}Y#$oCk3sY&hVgZ}`+rlTb^ zaGO=UvMOlkSXm%+BT?OI0XCB&ONtT}ZyhB;yvUb3nPREJu&~6!<+`F`gSwU)k~-EV z!v37G5hV!;)=TxWx+8SSFly9Bq);A`*-c?vg;L6fFl)}N1g*rZljb`=Q zJmPscw213npOt^i6R|@}kAN*jPnkm1;ZakuL~>0KR5}zC6qQW1Q7WP>)b{-8xK5pG zb=rB8v53T;wKhmvu>%PA*rGX>7+HTH1Z_qTRNHVdJm0YgMmzz+$y|)>4295zyHlBK zaS2^|q{x3JnK#E2#1#yP2t~-lG$AHRy?s{= z0_09SU3MWMHl~UB5s96NqDCebSOC*6kDr33eJ~EgBh-E?YPKq2LaiEa9-A8P2vf>Z zZ~J(t{{Z7HUdpawk<|9Ry$)=8*Rjqq+N#qn{wBHp1xBG1p2oj<)ar>e?zq9>hQgx~ zpzcVuPq=~*SgJxu(_$#qI%Tn82X(2_zmSrgP~_CDnv?p})ylx7$%7|D7Gkuc=IiE9 zq~VX=H3s|myC*u_N6$sY&U8#kj7dNTkiq1wAl)AdwBplaLM)70Z&I69+ZH0VazScZ z!iOv@S~O(#X8#1#j;dkm&knToNnvXBL=I_f?R8&yixB41JNsPm=oF+83X z6a-W@1SiNFupxbjsp>!Hg7%qO&Hn(l=yZhxEwVrhO2qj95o-<>EhR`SB{(+H zqNcF5MDjzBkfyCxpxe({?JI7JVC@LyJ>JYXU4-TwF+|zy#hmN1k7=57eXV=hA0?X6 za68d1bKGJ~bd?uPnpA0f1I3n6Z`J{2o2Q7aAFc_gHuR_`vQhoJJnm0jJFp4_Pp z#R5lW>u2bc>qHNQI#GkI8&jhZA*%Eyeq?b%2K&h}Q}RXX5{WZ~t8~auzU4N@5r;CC z>$~Eb1m_d5O+ms2UEx8bz(OWH5>)6I_LW0(73Xa@f5fE=1fuSB82asYr) z=7~{g-n$oxx2L_&Iy7r?sAm_(KB{f-P;r2q2ARwS7;20o0TKr?b(Yu!rJ)f6VdS2P z4qC2n+ICoJ>c&8K@S<=BRMPJ$-{lH!E;H5ORzS74?)@a_y2t@It=CP&+pFY~)ZH}R z_8y!=_+9b)c_spzR`n`pYX{7+Hj_d0WT48gr_e&5wWsH{?^&xIMFygzH&n+Y`9NIU zl2Sp91sGAfUZ-GMfD=+1TB$N*()FL9F2K__2FM@7w-Z<%H zk5TP4U!+-r>BfpeN5BeSCP8`?ziI(M5tg~8!YHHryW3Sj(~}t>upnLbWAoz z^(fhTj3X9y(cH`(Xzl7kcHMg7y5$R3 zP(g-ZeWnTXC{w1|RN5deI?PPhw5n%2Ni*?5JmS9yvU-9%M!^X8-h?AA&T-RkIs;cm z)e)lD+BPA>E_>C>=2j^3jRQJ{QPZsv3NU)@TgNCGG$7!qn3{S zSZ~&clS@N2rct8M%4`q-c=Vp(^xoW5>NK(7-q#2f*&XUm2eNtc=^H1dwiM>sXw<3# zz~cb}*0)Z$Yx$9ZnRGP6TAO$UqWxt+NA{b#6B#|-<8FZST;d{h`1(02v#Hj?FR8#@Fe<6K733G=AA#FBLP*tn09hQ$q`bMyBEa1EcGNNn!k+7Kv8{E0Nz#smP?-!34)jPjlchbuv8|ci0mdDj8{9>)Hz$zhHULs! z1OV3BR`f`_7L#ltV}44@)&8AoZaV{ndcH@gPtA0CR&t$#w{aUBaSsY6Hun(anub=K zuc+UdmRU?S)v*};wiCPHr4sc(U;-!j8Q z3_g_3*r>dvK!HL zlaShr3xhD2$lrC5xdGbTOoXMj$s-c?L8Qu1jAyPXyj(+Ch8$B9+Z7x$7-MXZmw)X> zA)~(ZM5X(pqsTk0#%sMtW@Y9Zl4z$r2W2j&~LDCyE_jZkY z%&~bR2=ZfT(yBiY-ZB~+aGr$GD`)epM7X)eCD!7?JYOZ{YTo)RkE{e8{6pktx6WsQ z7Z2xBr&FVJ_!RrBEd|8fCR1}>^sX|LEflP(;jctjW0OA0n8Oj@5>b0;1}HvgFgr z8&0(sS)p#rTEfAK7P#D-Mw3lyrr}`mK{l>VrZ1E_>T5iyuNWYm%J{#u*_dA3ZM2mF} zgy9G|(*7@*G_-&kK-g~~a}Ko;z$0#vsbX`FYgdbQ#@htITWRebKOt7D0Nxrc0C7F? zJxRoZL~xIwB4N&-A2L{oj`gmT)5HM5P6E>_rKGMXL4q=!m_$vMAPhvo**I-0hFiL) zt5UMo>9z)C4*vj|5e;XX#-V3@irXV(qAfPuw5amZuU?Ht(4*~f77!ff@H9r*tQ061 zV}N_-7@rLtkDRQqSNv~}yY9~p< z(y}#xx}_u3;mICYEDT{~KQ60;8o}dOGX0yYwV12sYHuBs?gW(Qx#YGG!q<5^Adg`d zkaYO8uWWH`kmp#b)CQ%v1)s4N)^uq*iJU|oGgysLR)eQW;^z5|7Z9g5+!iLyM#XG2 zg$n|Lnw_20P-sDnzFg^)_!%cxtNs@2SaP&Pe5d(N+E)o&C2*dF!g>{lp#eGS?hDJ^ zH7d`N{AOGq!&P^+07`{ZeyUIEL}>b@7>n%)_rfXqv09m}zytdh7Py%H{*)pm98NlK zhP3C672l%DZiMatuQzxNJ@Z+7yIUB)6UMK!b}vK(=Gq66%R^&$xwj`)EN&{1Ydu!j z2Dd$B=on*Te-QbMF?4}*y%_T0Iw*SKO78DPRJ z4|bcA_i(f{!*rONFHFPYnC~^f^`_N7%c)KL&Xjdgl^GD8u8AXq&eMgK=I^tF@cV>SN zRkQ5(dm6*cK511lzVpb@d)h#KI<)&Y{Sw$#^c7rvl7MIwzV@8iIQ>A zBwF~)+OWngIuBfQD6qy?Sc_v2?KgU;wxzI$)-EAN*xa{xmiIz~ZCle(b(bwlRxclM zgdv7+c7)2c+F3@@T`260>8+$Nv93RE|}K{EVUv-8@OCz0WfYe3+*sfL}h`D0z5cd7jWFIpJc{D z1eU^Pc0`qCgQh>Qb*;FeXM*T0z4in&4umJ)Vmsa*`J*_%p~g~UEuwzc~pyH z>XjnVpaJE5WrGVKArTWjNVwB5!*LdQM_g2Qg*svv7|KZDx>jgTbFjtIY)4MTh~A6(=_`!gvI9gS^?Ic=S*1LKz!;LgFv)j6dRcWomTyZXmPOUCiWc&)2`UIKF+gv zUM?YEbxUoD@0u;H(F>oU9?aqf{Q*mz2SzFe9iTg&kL*}HtJW^?w`8@c+sUbFQsk2K ziVbUV)qQ|mQOsv48I30T{uD)B+KrYm z4$Z8DbepxKWM!^FMn6g# zwrNwgJjvI1wkxEL^0w4%wOMAB;#yw`HsP(yORXg~l{S|WV*#LB6wqSUM2Eb@MqkTr zq(cdti*(-z>nNN~Z<99akcz||2^k(NM#!%Dri>7P7AY7Lv?jDY!W`qS?+?jrc(spf zzNw0c`54nDgt&7RyG5Hwijy1A6mT{s_yprY%{Sqx^M%=G>HZbu;S~XeBJHV_nC{k$ zWm&t!>G`X(%)<+%iV{0?BFxKw74GVvXIMbg$~fHZArnfVeLGm-p!;snu$eU8R7AnG zL7eCkW36_K;%^qPpjPVF$)l53B$NP)lwpdatZ1K7{C;)5-ly2ockZoJ!OX z9}S!UknhB~<5W&2kegJ(CM~Kj6$cmAwMD}dM_X8%ZEyAW+NAKPnsn} z$9cqX#|XAPDDKMPp}Mar#i9_!2Q>LC6Fom5M2PCKd2Q%$@fEuVY?HbV!BBUg8_vzc z{{Tc`x2>6XycEe2cp`aaPG&hfAm*C~CPH z6K_+8^*{c z(W6Y(%v7gE5_Vmk6?tqfR&LliJarr2vtk^4ChqiSG= zuiAu&-GrmzMn_6-e9(!pP0A`wu~~m7eah7`u(NffbDc=y==sXa<%N|h2ESD{?>zlP z8A+{cKn!Tm#)vh&0XCm#7&z)_ItG{&>aKAo4(=i&2=2B<(z|M}i6zDk0oYmm!VQ2p zl=_aQ-Qsw6Y%+k@oLn5&R1jmgP5ZLFuv?BNOLkk(t&E6ajj{523Se^$?TcFojV&X} zk5|YCV(L-gYey5eM_P?Dj|5ovju$vW&pQsEfqOrvQ>ow))(^%;nbqSS}{eWc_ntt!rHAK)}QqS?rqUWFIsGevp#9ii&!Ex-TM?xhpBo&LCaEt zEH*pBi%p}xDt47FNm_%QY4UWaSWJUk#Dn44GWyS%`YR0~8jkx)&f|YQ&G-vG4=Yv? z#YnU282I@c6TeGxr=-Imd6pskzAbGt=}oFHlt)WqqiB(c@$;sc%1-als$rG@Becav zJF#|&TzSfGXwB}-2#pwIG+3JKHaakl)Yn4jcvY8l!5QmQJg|Y7R&}csHjY8zK-zTe z(1r1otPr14t)G7d1{zHC>Qob-pw9|>od|}TUD4LJ+ZgY?)ApJgHF%XgyxQI;$N7%9 zYl7_Qmk7XEFopp+0uu*m99m`5%)FNd!HgR@w~!cI+3GXC$VmpaAc6~9uvvxOD%gf- zh8?<{ACO$pSW^Iz3TzFtToa9Il`6~2aVnOuUDD(5HEH?u;i>s0v6m+at zv~%)nQn5z$jrUl;7hD$622mF38&G918penKJ}BCk(s7=rC@fbIh1(V@;ep`ZE^$>T zI_o3V%nEZICp3}MaM+y7!RLsvRc+Xhg7g|hn&NtVDxBvC8R(aRM)^ij+N3X0R;$z% z%4Wn=$|J|g4uFWVUJn{1lTRy5fl=^_o`0uL)6#B6l?PR$Nx0nx>z*U$5~GdJweH6o zE{>h#+HP}zjkZWz4@M|5o8T^p23lf7W|`YkrhO=QXEa>K)nlOu_Mz-L!(7;olm}}V zn;r;*rwNQrf~kfT%qAHMjv7u8yg<^PUIb<#!sf=w8w*zJxXg)@unm%genHF+^`F*B z9u#(kOlYRh`bWUfI$wbQ0NmXF02j#7(KH|EHR=xNY`W0`J0T9c){P?VsP9Wsm9`#3 z2^9+p#xFtEHOS%VP(1vR7pbY(h`Q0vptr5ifpC|S!8a98H=n)^ZeLZ{&}#r|S|A$H z00+f$Ek158gn87IT79iPCZ8>r9%R>Ph<4xJn)3nL$@)7%E|Q$v3xIq(?o~AIxWm(F z=@Du>+Ir^{=t3E8KI*v z+%I^3kVJy49CdWeHSyK zL+si*TtuU(K#3Xt>%uM&+;;m9l-(^vgAYc|b>GsUY`GL%6dgSwVe(zWsbMPdGIM~&69Li4ebUE7ls3?^$hp5jzj&Dd+TXS4M>EvtOWrt>- zWM4|s1xA5mo98o9aPoi^0M_0pEWLRcL66cCUM<5>rZ)z-6!GN$0F=!*LyUM6o2Yeu z!l10RM!-}watQ$twFA{+KX3C&k6 z6ThcqfH?KQyGc%{DzrqjZfI@M76cghR0bfj zqeH}X;sn@>@=tD4G*8$$(aRHf(?pZBCQ{7PG{F)ldX-HjwFFw_g^**ou-tVt+*TL1 z%kCdMQ(JA=q2U@9CfQ(uh238uu<4>YL!IJTHhnMSA2-3%)Z9N*mXF~B9nLBY$k{2dZe-#bZI{Xg1n5Q>|?LS4}+YM@^3X#Khs3C;!u$_(% zX$16zVAg$MGosZ5CI=KdN-y(jUC(+k z0LCU_CIU^?5p!k?-E-R=S`i`;)h?yIY3TU}F8=`c8~*@735WX3y#-esLDvR2!2s;;iO z@>~sV?cJ=b&GiZP%cq@xPX3=yu9xO<$QY;7NXEZ-A{}y^2F&6txyZLjh_&aN%g(WJ zkO}9V5-hPdUh2UC=WQ#r)e)CwmJW!uu)_n@i!M1-U>GVSDr)KUC^UaAJhSFHJC(C* zwHa`RhZ%S$P|e{G1h~afSz$~9^T9A3#@ZqD)*YJU!_=9E4|W|^?{rC>g#N^ zo&dx)I3CPr5!N_2UG?6cVfa|hww>z4s#fd47j~1`3qQpWF6C~Z^&@;lsd(4OmABN+Vcgf~&ytoC z&`ZXBYp&o>+Ma^L$0st(wM{9?nsfqe9N(E5A76yOfLi?m5;7er-L}2XrEdHAdb0yBG(~8H z0as+ZO=!us`?hZvzcUK+MaUHy=006QAEYS&!|052n;}FSOk})H1}DQ|0ODG=o5SzuAKB{xGBBDj(()^*}ytc>40=XAz*ER?-k_mCi6i;WSNO3`Df(2sD0*geKACFWYRH91wGpE4H`0zzv=A;R_gVi2nTtU9>J`Db6& zC>RH_cuAv6IGt`b%^i`1EuBfT@CWndB=2SIy9y{$yKJI%R7CG|?ivV>Nb{sx8i|Oi z>5$KNiF!Hi`^%_BgF&s| z_?>v{!RnbcWQ`w#2Roa;7qw86@D!Y9NXniU8oxc&p->50y*fgu|46neZFJ?AQ__pd z6Wu$%f~yIP3S4$JPL5cTCnn)yb?UC_tz(?%nM$KU4h$yAQp}eCDGbSkZnb##skWh- z&DaIT@X;==6o*LU;=~4u2TwalhvLDBhpeZLt^kVXyG>Gff`wc^6|<+5qxq-0B2^Dw zs2+u%&y^YCy*DQr{j|Say%0z^O3EsYlSSQ#Bfz7ir3hbia$HN5)^a8{YCOne^YSM3 zyLbgMV>P}QWW@NkL81Dt>gsBDMY6D;2qb9^%9d~ovjzq5wbVqTDtXvgR>|mp;hq{4 zn#$McDB8v495*K-M`BY45D|^P0kDZ^LPk7k~xfj zuz>s9h-!&R*-7MQiNuM1qnQ^9BiEWHLbO~@rm4)B~vX+NwMQ5!FHyD$~X z%M^B&_)kusc|(mqh@=bEVa1ux6dr7u*_G)8<&+#N#l4FbG1&*o^dQW+B(EGDG4c&3 zkOVe-TRqkf4*oV46%hiF3zUpvyye)bmK&EU3=T_9aH{cG99QaN`--4>wnvy_nL&kkN*kE(MVW!I}~SOw2Zml7v!GG2y64C1bumfeG9k zrGQfv3uQ!97UcR2&goK0e;qz=GF1OodQ+sX@o6^_)eGh(wRCrGYfuih3~shpPR`GbeYer5K0EVu6~IKD>p)-cZt19Mhyb^b`$h zhnFS^?4Qo|p|KaD|2Fo$3O_&@QF0vvNS33qYGQxinL>ZN!jTghWm(Ync@Qs$rgFAp zEE=V>4*u&odv&Ns&U~88sgvfdOIn1pV+l*UtfQ5i?hO3*57JdbYb|)7AlrE@0*mh;1LbMi&7!hHGn3XX@lBsXD#djPe6m{NB9m4md48s z8Z0A69%sn=!Y^xM6_US&AUap?n@}la>!rPIMr+I=K+pY0s&zg};XWd+bOsk9)VJBa;NG*nIf5V2oVK^)6N~^*g__z-OPA^OX?1dc|=}`enwH9ol`17cEIthsFvzT zJv}KDRioOGe25C_VR-YCD5xZut~Icy_& znx+-m_>EbCQn`7opLkd+&oe*Q5od_M40~;lfR!C(=5EG z2HT3&LpanHZR?V_wcCF$k?0wxmVhL5Q-;>HoD~&p^@#{Kaw?mp2G1$`ILhSEU(^tu zWj`pCECRov9WNr4&jJ;M&&Gxpf9MADWtDrzgfk##OWq~Jj5VlU6TPf_V>IA*=5Gvd zo}r@tn!4ctsQ!X*7_n&?70tqygJ&Y0u~R>t=zS;&A`e4Tw{L{T=M#<+f*LSEjP05& zo;Cy8LItmIwQJ98wxh&+;8Qwg>LsFYXz)1sRDGav0Zt~W3+Y{&Wopj`uYS02`=}c) z){pRlD608Lj4)>xdJ1u!Y~mlBkz^|O)@IKZ9*>ei^DT{R4vd5K9-4sqp%T@R`Dem4 z*6+y@uss9f#q$eM(J?L0ewKi5Cpft~c+E+8w`c~#N*oZalj7*_k@pVoY2sFY)|omg zj82vCcDsfIULw7Oi@jMv!5|Z=UV#_;r5ow?&x953nHAKcg&!51aHdF(l>yiFhBSoZ z_Hp82R$p#f-#I5_zD!|)fZd8wjhx{b219{c_Zhf;Z)>;QyTBhhW2Z zh#8#1SQ0Z_S&1&=3H8(V5^jAH3Q_0F{P|5HidWg=d;bzjWAPyKg5YXpU5L5@SAQWH zxpDyp&8p7;=KJ0oseU731AAt>zE-j$y>La$t<77R3K^D&sOzdH&L3tB{1@svpC3hK zMo?#9H*&b^l&Ih&UpFhcOtg0J6R9>>c2H7zQMcH8$3L$W8C$_0fd`^62aQbRzmu)4R+FUuknS zm`H>n${iQIRfA}~yr@Z(V_bJ5gjH9MuMIz!(xOtN(V#>w>#vReTXtpDS(>-sCX2n5 zBi_JxH6yuWrMi8+DL+?ve)k(w3rK@-prcSVkx3`=WaGtBkb-a714rfH=X>eAA2l8) zvrKlAFnC9`jV9{H?Jy_05w0++z3^#R5t8*MD1oo=l40}y z)<8__j5L*keT1K`KUnbAA)I82;Q9V26-#P60b#W zWb%ZZcGTq~2hm!(i+L!t>6aVoyE8%JlLZEc%c0h%(qG&eKc=%`4JCH_m=ob^N`^NQ z3b42;l72hWrN~oOQok@{JM79Xa{ppQ#)@T$$BvFQpM~@a`G{N0aHgMU2jTIfcc`8! z{^mK~Ha@?n>7T>V%<;vjc*mQi!Nfl5SyT2!4DYCDaPVpL0%%iTD?3wW^ILXl#;EhKtB#noJ$lnlJ#5J#G)X)nHp&QNF)ITPlRMRT9BM7AWNwHqf0<+N8ZTUT8<7 zpBm^ZGli3Liq^7N<@D#h`C<+XY5sTJ#z0u>ESQu&On?H$V!pv=irhW(2#j;T4VL+j z35P9)SzZN}ZWMFBvC3-*ReK>rCz>j47z3VA#ZsmE+aZPQd@^@yR9=oy%Bt1A{3N2{ zis@*u-gt)0$|(m4ZIpS;JTf$vNnzaX2xmqq)t|}0e&6k*UDD!1;Wf!Ge>w*c?8KQ{ zHI>36w1omZGngl9=hhc%9^RYdRG+m{sB5Gb%$D(YeIt~4!@R=fWYETRF?pf*(Pzrj zh#&oh$C(Kx)z3$3{!sn%xMyM{rO8zV%iy5umq*z`+hmjirCp1gv2k=L7Ebfo40G@o z0?yCy%K}b%vrR3DfzZtYi=zFs4-&0_1sb4Y3!a)z^_;4~qCxsZJ`6~cjW);5j{`rN zAEILvJEo}6*5)_oO$x9@&I=MCS}kH&gHbyL=XMcmYf-8J0ln6O*LHnac5m94J=b_h7haV$L0Av|@GH_roy-<>kpy4HWI~67|Ve z7q@$JB=6|B{=Tfh;Y-d3z0zVCM=UML{;kW7}9h7$*OtoaTeTj3e z+Z2{qKSJk=)oifwXOGddH&v-F+7X-PZ2Q;qt{9-03dQf96gB9Fp5sFgZFMT-YKr&^ z^i7ds2n)Wo(y;uR@7ir@a49l`ZZKuzgs$#{1C>*meHF4Nrc-n;444bIR9Wg!zVIQJC8Oku z;nQ0V_ffqBdGGB3&CpP7q{)!T!V)zrGsl||a|XC(NB9sfab^p*wlGAi3!Qdg_`hY- zHPuBY;58jdN;aq}=dB>%en3ODv#mDhq;9DvJ@{l~8$%#dhRWrDbdxqOQt|4Oe=3_T zLjsHVySe_OJ942$|8hO>6|?mm8H;vppefOL6@%(6AAb(z94KkMTp*yXw~ALxW1kgx zadoQwIw7cdVNZmFia`3HKxc_Ozs6a=>Jw2Y=$>#-&W-LZGAkjhC=^Jno-@2LwThik z%{RY&7&VD&CQHxcuv2wczW)hcb9WlfjVlXRi^kyn4jt~C*QqwtPL2v818I?HkLOuH z)QdjTX`Io{p(JC7Yc%ng(o1w*P}^&+E#^MJ`mXQ!dmpCBPl$Nl&)ywvP;_te3te^_qkf64XnB2d!%J5uy7N!R*_4)N<51Y)%B#hLmwy!RAAgN*QznH3vMgJGTwjno^f#wB{{k!?IU>2Y%dSB>k$87p;pz9_3R82J z)Uoe_>S;8;wXX0EF0SUBlVSys_@fvcq&3B|SLLm34T>q3>#e)A((JSn)Xxj9DBY$`f25B+qF+0`-!#a2QI2M__US<@;=J(*TWX?UKg<>0GerEKC%}x4^($s~x^BBk%_j*iZR)LII z6{p6)^gRLULCGQduK0+(zCY93{^aXQJpeBPfu~>nz@2=5HE>=`i=ZX?x2X*+OS-fX zjd!Y4c-iJTihbRa(U#V!vGA>&;$1|E^s9ao9jgH|KfKoEQ~k@GL`H!LEeGo9am{8L zq6M6`6a07HzW|#ujYvxilQNbwha65EWjB3l!(LW5RTe+#T&)09R4Z;;@l4rJ{y+-y z9a9^%8BX*s_F_K@@%6*a6gE1}B$it`%M)KE+CZU7XZ#rw>>_1$Ae1mf(S(`<&4j!p zbTgECl!W{f*Dg3^ zVKp8+a|ESSC?4<%l@j?(pdTkoEY}swV^P7@nGF;~Sp?aRu@mJfdW@nJ60o7uGmQBx zvy6x#OY8tai%-c@!_jO~qEIW}!Ri?Y#Jt}8snLiQ%QH)@z#gdzH)JPG4t5X8b6!rB zU-Qjs$Tc#hy&EdH#+NbFoqg!#X^PGHu;pgu<1;pByZuWn!D$>3XDo^kj7`UxZJTLg|7n4ih$KLK5ED8(lR%$!%x%h&Y(u}LZR*8+3HxA@r0DXXOrT0!tyN`k zph|~}Tuqk{Cauk^v|D3a23T&&x)n*&el65NS(+>qi14IiJK(PmHd4eOtLrsDwNr3N z-^q{l`kLuSBF94pOdf&5n>O`-y|kmiFDOuzLfh`i2e(H<`&)X4%Jb)iFZ~ zTU9u3l5%`xhgB#;^Y!;33XMTpjV_d@@_9 zDZZ#_S9oIcj9$^wDS=Q1UklDak#h_x8g&7H9<;FXBmCpdld7K>=}ut>g9A^^GRg%g z?~=i83=96%FA70z>4QOREho;nobZ?UA5EkLH9L4>JwTlG?^-hhfIC#Xlba(Eh`zmI z2rZQ(D$_$T6s176x?5sKP|XMUQte zDRh>t<}U1O+`QRcd_EtT9i4gM+^Y5>x=ABmxx}lvi?gZ+H{1w&%brwVl&M&>d|*@zmcz(d>_2N*Y&+9 z`96tV`#*pG=>Ab}ifQzD*0L)875QbM0~$q?`U(EA%j5M;?gr)B>;Cx#+D|s>K{o3L zR-RdhxceQD`$xISsxgn1^Q){Jz0~`r4XDmuq>KIBrfc{u&X*=U3j@dTIY9Ak@Wq?hPg2>t(b47w|t6-u^$h`NzWf{Ug)c zIM;6WK&9e+bmv;hQbg!qz|$d=<;lN* z^%2)vVQ9yC|6d*Zui>&>U;keX=RI9DYWjB1^rUhJrQPx8Edku=eQy63P@rd%^*q{j zl(cftc@_Mh%Qe%J@!jKj`=7TIaHq#Pjo1IaeEkb3{8wbP>qzZ?x`f(TOnawCnVUzSf&z@Gqy&^+@Io?q1l=r@&TYB!> zfc*=&`x^WgkfZh3<*qz?GVl?d^=pMz{BiQ*S>g4<59_dsr6q4;JGCb$PGfy@*{g;3 zvbM@wgWxG6G>VR9)?E^|O@-VuD6DDT^lkxLuYBUP64*ii7eKyKF+Fiw)i4T%me4cT zgRnk>qPqTNBJze7kh)&KD0*9|&DtJrt};K*@*dycuazOvJyY=V-mno!1krdyM^DxN zj2?m8=a-^GwSDl>{gT`ig=XlOa_Ki-$@AQ+shnmrW~6^rzAbN;-KM;W4QWAGU&5oR z=1m`Q|M7Fh_+Ngu%ci0CJR2HWE7~gV8vo4*<>~)o{C{UWt>jtzN3r5I<+Wiz?H}`D zRZ@b#n;~EmZ!5d`r_s0No&O~MtL|Uo|EjJ_BWqXNsk2V7@qcIkZ~egkB>t!V0kr~X zzW=%X$MgRX(M|OJWv6mv`uNcUWta(dogsj^d37qUwMHm9*3j@&jUq6oeM&X+HB6j3 zLtQ1n-!eB{2)cV^Jfni3IG6Bbup`I!+^XJaG+57?A3R9LGkOx%^p^kl;;XV1kR{Hn z)#C0UW#}%g3;?(o{u)&{MUB5~`us#XAjqP~pGNgvrbJq}3Ii`-b|g}A)TVs1sZN?F ztz+|>e4b*-AyN~=k9aoTkYYhjMdGM)U-1gf=;-vFVZ*Ist$L#R-wbEtS(>O|HQw>Q zFQXj@TSjnzhjsyGuWtm1P6kRq$$@Un?)W!WL)h_<%ZK=%%BlMx3x5k@C&W6Ofld^x zQg|B|v1M7}ed7-`Rbeg8#AA^T5l+cMz?4MAA>U+w#~WbOsDia_$TKtkrq1|d!jBfq z!#~shZQt7`ayZ%3?&E;%Zlq9uXIb({9yj-t7;6V1gQKvXgg;8TQ)EQjd{Q19cgH4& z#|mY-Wp~XbW!#+REh{k3^c2&g1l@~;ET>xai`+?=A}7US>mEZW2rJ~((Ge26fO)?I zuAqhr42Sfe0GOY#fzopp8Xu2>K7!PU>+m%PU(Jg5I(EeCUY6^LgoxDB)L1qpn9_5P z+2Q(47MdmsFL65BxEFjEaG~b64QcXHog_qzD*;Z$ ztn?Zc6NufxKM8n$$dN>xtO}<|lTEhqt-DnfbA@Mw9;CSqKaPM4+z0k{oX!Bp0|D^< zOmSvbnNu5V7(L4Jh))c@PxHm|qpBqk{t?eaT9zRr<>E}IE`*9J?atvg$rvMdTs+0p zKn}-}wj2XA+x(eR3!UR8sW2;`G%CO)F8{@lw_r$7(7CK)X)m z1MWA=P}{z?Ks6(?;D$VD70T4lDFx*81Jx9<_dec@g*!>~#pchN9s|L$K)XW~{wXDr ztwUvKjHXX^!#*TGrkdx_K~A5bp@XG>Co8l+@s_C(th2F8!&I`=m0{kU8V%wRp)h3K z-?}eeM}kTw3qpkWJMy%Ut=I`K#wk9+rh`tKYf zO}4(M+XO(T=fcLOZM!!@6A$fiOkFP9hQ0kLKE=&m$@_(!B`r=VG6~A$kvk`EwB!0Z zr!@)JP1pWjGSk>n<65k1HxgH8C!lf3eC6oa2dE1AUSVKq8q8Brk?@Bp>%M85PLMZZ z_lnz;;}=^=I#s7(oqsjU_!dB7AZ6U6=n{+Wr{;1>d6e;K8DR^TjAw^QLw=ZP2+2l# zoolAl8b{83t=S_7Ve5uGWlvVE8Up0Fwdv-O>Vze0 z*h*w;i(g@D7L(0k{ciL+31si~I`^Y9I1*R@Q{ytb5W&w;nKB3UR%AaGI~1_nejH@e zD!ftNi9%?n-Y7eM>|~e3uH{JPxvO-2aQ1}0Q!z0T#%k)Jssj(|>Nv>~7~_h5;pGfH zrqq1?wFiraX9bl8+UmL79|h92UwWod(<)`}^;*78oB&~#qZx=QG@U=)6OA^Yb+`aq zFjX4BJLeekA2)dF;DOPWE`j)1`KV{h#rx)X$~g)N>R>7^E(ry{s`F*^oQIJmWO^fB zas1}o9r3u5A)Gynm8YPB^BLU^j@eQc56wtWDc4lhCzg-eKj_wO^v;0-=i|HT^V|)8 z;08EmN}8YIYibJt!f-vt_BYo{+Nat<4s_bcD&~WgByJyO;aL>UJ~1mh5bxd(Du$zg zEAVg3=WIF7VYU<#gbfg+7$nxcZblBwW=B*CLGneCarREfs)YvXN+t4J<%tDlndB)8vbh~~Y)TW7QwQ(oJ zyMSb&y%)mqi)-bb(uEVEDcyk&J$O0#f3fO2&j>4Rz;HAkcfNl9Lxs16_kq8X68@~MGmts;0 z%WqtW$p@S-dfN{KxX7_}i33!`0Xs{{fJ_!Hp(8ry28Elo>k<IrCB=vC`~$Z2N(B5PP7u(qJ=x;Fbxkxl0&Z8OZ6zLI!)0oj?QGqLWEDH(efT0YI5 zuQLV0;Fd>JJ|0(vN0mdB;OAK!1e@7wu@#vSo0FBCT8M%}u2XU)X>&qefhG^soX`F- zaZfVxKwHMUT)_C0mL%7(@I;_K5#qb3(gh>RmDMVMkSJTBB%Wd=nLs?rVvxW3?SrB@ zbEB=q+S_KHWQ77SB??G(XXGSHzozR+Q6k8aTKY7X)qkJq10QMD{2twR+*rfEc7h`u z^i6CsN2$RCmT2ufg!mZDlUS)5=}lNVq0(1Q;#1cWf<#+SN;~s@TZFWz?Z11Kkl;kryW6cMryDz zs8yu?mi7UrD^-%bK)g@$gjiRvTx&dh^{92~V@_xX3tgxtRD~94S5=P^0d30)BH&rV zvq=3-315jaT?CzGIYgVfz&f?>=TqWEvGdGhSfI$(4Pocvbn1g#RyMnxdqh4W!hfG2p#JVtn`B-AzT;8IQHusU*?7Sf z&9VT1JbK8SSBikB+86R5;zXSR9{aUdBNsbf(7K-R6(&WEPK2dK*e4_W$!OeVG%wks zG{Xe-P%A!}+b>SD9C^>h&czODY*(Y+W!T~d+_P`du2iFgss2At=vSRf35@PBn3?eq zGp!1se#!8+Uf?RdyydK%-G3wL!oCwE`wK9YD0mZnh;+Ouk$?=zNjp+vqBDA-%gx;< zAJH7K0G0Fd|DT6Qz0Bnee@>aYx1hJ8BYNl}|L~%xY~N=58+3mPh(Gkito9_x2yiBW zJ0XE95^*N^6eWOJ{XlJSAykCe&lubTn{!D!a|%285d8gtk_Vh^Cjd>8?YV%`$hx4` zf5`CPOqhgHd7vZ`fXjLLZ&|sA|6V1sA2Nb_coF-d#7_j?FG5dG%=!mtwVyK3L#IhF z=@9z`0$@YXCQqn71INIQ@lAR*i!ATHBgii`I0dDDV{>?U%~MV5DK9BE!O#7fRMPjy zwg<#0h)y_x8NE0Dqqb?_U}IGCO`S-qljlC_=z5uH+=kN4zi-fl_{@#eJW#3WbQHVK z?XGJ~k_b_w;`jioPqm6M?kGq#$PJMqYQKgNFxO_T)@`At81`?4Z7^X5gHRt8_|J^;wRi=+^^zJpc(AzOJ<#^CeDMwgo@w)9w|><+js#o1Rz&7YVOB-IZLm zlxhjtBJU+85|5=4BH8RBGicj(afVLgnu*wdA@ClI*x%{D?Mm|L3Ej_?1he~r+V_$V z-A_3ouV?19;Mc4kE)<kBW)+t7z|iMcRX%21&GUZ1 zf`s`A>dsk)kh6n8x1nN6Q9|?0u%Q`st5sD}jK{{b0;QEWx2_KeGKY!s+a_ zU56S~|8>QgP1AO`?8F3@R@=ofk1rZ+G01)<3asp7fM6tu_ylC_FRZw9ysB5C_sO6Tw&^m84|G^4fuCgod`7hvO^Tv$aB#_?= zx?~@?eA6Kfww>!^?ghLGR4QeBeJDRpwy;FRK}hkYrm+r-U7_4-P<2uqCj@ZzWnS{c zU|Gs0pK1F5SlZ7Rs$IDm*KaHg)vB~RSEcI0*FC&3*B>V?r|pJpnAn%GxLB__Yq&UN z99J7``_MBp5N#t48X`S8VcwN-m)FISDg4aFmoC`aEMDx^gBvDP`8I1CP}kZ%5i^d+ znCc&REy~s3Br>zACvHLtp9tE&Cx&BX{5YuI#(;@L!1*BDkD&nz5*b&;{lI~R%uL$6 zi`;M9^Bx=G){uC-VznG(XMx!}SEC-^8*M`}dti@zY9vQPEL}5+sA< zF2mzscW6yp#r2c21_2?_26(NTyv|_E z{JzC^&&i)Gj+;=J-e4upnhp~IzG6u{sja;A7m8AvFRO1!4zlM{Qh0@@P<(e8*ICcf zDI=CK0ck^;J;!=xrwdsS1kgAoeHesq^w7 z%YWvE=r?rL$XW=Fe?pr%4Nc+P!j7)Eg$fL>-_R!x!9ca=i9EI04?;M!jRF1G%2(C$I4KsW($4m(aW6 zyMW<^Qvf=ScO2xnOZ1JYYUeemPGUA+7N6wTA(8RO(We4mqy~FdO$m5d=f)nPdc2Rb z2p~!b7njhWNs0YAjHOXOJrUev$DO(#_PS(;ovAnix9AczljW>OzEan9 zOrlGc%$4x{US~(>nd9M|iA3IM)>7I}u9ccdi{wx({fzfr@e_c^$`(f!RiEy1KYOwQ zowWv_!nYL*l^LDy?>KeS`G~&Bb4#&Hoy@fVaWk`B@Od|D%wee~$6llxm|;9`OhWi# zw5zGq*j?dwY0CH9$NkGoEfshR^CbsTDqF7<^3Jf+s6Pi+YgK{xOT-KrNx(a zFB***K9$}%xQwm#uTBLIDIeMLchZknU7E#tkwaz$MUz8AFpzInK^Cl6CCN%FMc!>26q6?Qinige3_!e>+n-0R0FyIHJk1v&-=r&_<4VKV=u@RD^$9 zh6#Cd>R!TrSH8_)5$q;txS){)o{qvPuVv2liJWP7`s|fN(3xqRlR-BIYR;fY4~usw z-$~qQrmxp`f1s)!8hFuT!O^Z{*W*qMuu4^XN?B)=?9)Adh=;&U0++o#51S(oq5=tAPQ5<#5*jT^=@ijyZvg$OB+1^ zSnp1*4>*CvM+9)4S=oiT4o6z6{1zl7dvEKyNAfosV4;BK8ZD&Ke@`oPV5K{;yMnRr z-p7{i48+xvS>$$#K%AtZncLExv z*7uJvhavCuS3Da@t0|p3oOm0grliKsX*L=e?GUoO1G>E@XlR`Jj1nl=~haP;z0-?Qm7$G3Ar?l^~jKt?CcBO6#^ew>UF0Qo|84r5h%rX*n3T zJ&>Q-JiV^yOdBP))fI9l^qH!$fwDR!S#MmumFlip@PlFpsVQx||KOt7SzB15-m(8dgXmrFL>5 zWas0dcG>g2Xepz`b-fqQrI>c47%Y+0yprqE$4Q|{-C80{e~_x@b%0mP3#euZweVOU z5QS_%%|uMUINT-Ci4@sI+*k-2xTMd5q~di{6bUX&)Y$-$$ye?0E-ilw8+s&=b1IX9 zv}U*%oK(5rV=s_nt2RC#^Zx#V9pmj<@`AcUWJ}NX{x^wMvf_@1$_GCtQKVHf8!z;B z{o>N3=Gcp%E{WNvu9ev*MQ>(71sk#4D?hcO4eIUJR{}ngtQ$d>$qj?|irT(Aog14Q zx`IOw(6-%}-L@QiMYq@awy;KeCc$sCc_-E|P6opU^@{7%KN2@?{qSoD?e058rNoTg zI-`;Zy_~}zEai@*=A5MWD1PFDoJE-7Z7){YtkAC=R&}RNL+(yB50gz zt;wvSrC~)LVeG%fyr$HS&*4y3XHc#IyBIO*o)j(gt1 zy&G%JsF(i&%-o6FyAwYB46a&Xz3_UAUU})-6qJJGZQQu>8WoA2p1+V(Mavc4bY|&* zy*gVbs=TKzpE^5R-!i5>cf$HtMhMsM9>wv5PsTYiQ$-VuE81+8O%xN9BrRZKsWz@U03RS1ZegiDzKPkhz<(q6%1;s`e3X zj%rc=WOE?Bk=i1sPpUhR^s|1PzjFi_!9f28`YJx`3w%OBlgma zp(Lo{f$~RB-Nip@xd=J>OfHGF#omlMN{a{$#{4|Ku35h@RA-=dTx%q+qBNmDPOJ3z z;!xtFe{%gCn*5V{*-VawB!=0OLKrE>nZYf|eh2r{M`PMo<6FY6m7!h%I|RMbCpn3m z&YrA}#~ZL9tDiQB#57bE|HQ$6Fx~nj%-TV`o&QQP@gUH34taWlZkPT71SJ-3k8W>w zZouAp(3Qc7ywOET;wS5Et{wsv1@&PbVpr=J{JLvQB%*3cl;?WyXzWOz?y!;du#08XpNwJTl$*QTzl+Xk*dQ^(@J9VsX|ZA zTvqrT71^Wv{*4+(Gr65|I!-Gi=@>O}Z^`=)FETQJE`)xv_!%A7NAfHkC)O;Qu~lnc9DVrG29Y|&HSU!?B8n~=g`dXk+Ja- zUVOMPyv(@cGFfxMtCn>CiA7uO&s|Rsle)Uazj`+J2y$0uB zl6BPkeiZJ#J|EK*OtN8B;*EQ(oA}Lq274OW@HC^sF=)4?AerydckDj4$-?-KwYddi zyFRbuoFuys-ZRq$vncasxL>n|q-=m=qh$}_jl#e0GkyKF*qsZZ?3XY~#!4jTk&Z3! zO1o_av;76M#2%Bxs(AU_G{612rux@-i*x^Im!>SSSVa zp&HeMOafXd_kq8E#>Q#_9&CuHx8a+(@;ABx5YnLOI3^;;A5giI2x`(#F(+X+Ee?1dI|ieb0xP8RP2xAYVN;WustH*n^=d z9sNM_7hs$5j2_{&kquR9o_|<4f4n(+f^hMX3(*(1S%T1suMYYc&&;S=KaVT8fAr%a%jY0Oe-~A4ljzK_ z!LWD)FVUjplir!M<+s@SOb2gW>L9TNZkLp_`HaPPx;jIG%6XxMgj8Z!+kGOJOarSK zznkxU^qw_1{nZe)x$YcBC`n67W7?ht-`|+NN-S8m1dKr8CJGFT|YXJw3fTQV>E z&Z_6n%*YPDbu;fw+Ucluc=Z{Vo`-?S@$gM)JSsuw-sN6W%x9KUx83_l4{Y7DRQTr* zE$!5XuPXNV;XPkvp;qhFLI)=V%#NZ$;9~#BhaANZbBZ2bTjQ0Vf)br#Kz|~L z2MD9}ehAyv-sFRJOk^a6`nPRmzAD3>FosTYyE&f=&61oy+p6^__-E%XtzV-mqg+?* zOf7rSz2+(}d!n>sGN!U;!bwR>#21mw_5FunZh^vP#tEv30R5GeScnA&#~gp<$0`of zc4Xb5tpS1*JP5O{iVlLCE-RKOoZ0c38eJZCjGl>%2UT8L;8SV1aG!5I<6w3wbIJ%e zuzePgPbZo80lu!?M83p{dBx5RiiV!#U(hLcOwW1f{&nXGtHlGVVtf)L+`N3kGrbY; zJrwskII2w{5pq*|_)?{G1NL}}K7bC|3FySBcLDAY=xqB7NE)~I>6^UyXoiQ}k*(d$ zcFp>^AZWM63h+{GA5gjUxpP!s-0!y~Rzn72ogaf~E1ElU1Dp7ml7C$dp=S~-*MOla z;pLeqHRWLU{{g5#SHJbgo;*ga+A0Y|`6yuafDr`al2)RZ8O%I%th+p+^+jDg)!xtUTa zar(ehc^y=s^j3k^v1!}p3feFa4K$?d{>ug^Tm^i zmC`A#4Hhs~I=1mEtCLKzol%-KhqN+oS%#qUkJy83(I6|`zK3~OYm(%yNQi1c0gFJd zRkO@yMCpSPP`I|`tY^3!iU?_i2_Z)T+?VeIDApy`VL)f0E-GNpq5k5ec>8{%`dNZM z&+$KV^XXq<`_2i>S#sj^xp9O&2>z*IE@uFDSepG;^dF%A00-CG{NDcnqwDLZr`JB8 zAFpJ(9+jY`QmM+Zi1x^Uq$`ssp?p|fC44&-U7H*h!^zAB1Yqi*truLZbf~(y$OWjB z*2ocT`FxxWd`e1S=mY-3jK^a&*6WJQRM0vG`KHh%=MkcM!ogyb7&|RmfTEMPjf}W) zIe|rGtGf5jr5gpCyX86aBTxuIS2{+NR^S(znx-ojhm#fJlfsBF|2oUJ5%enR=!@*b=x#rLj_r{9Htn3Y)dD1c}uW4 zm6aMQnNI+8zcG&45wbF<#tlTMgt5AGFgf4*oE=BhdMsQ0EY}cb_f1~^0G~(TCj`P} zjOpka{Ripa=k)kY{e`>Gz6pM{4^jO$>3*Nb`d-dGn zSl^?x(~Uqw!7Ay67-g5lQPrG47-J=`DsVZoIEz;jU^WyPDAscBA_|sZ8S^k^+GRCO zE8#Lja+fp1Ap?PjRBSk4xWy+t!<2&KCc?Hv@0T;;o}aWp04Ny1>8Dsd<(LJ>O%&@* zM;bK`bg=3>n2i@py%wIeRRkGs8BBxO&K7%$nF@nhIhHA+w0f!k0Hp3IE`^pSuslK! zniai^xXe7WFd%lr2q<%ox**P7ECAR);|m9ib{zS+(xn+RSIfAREL>-f5wlw^T(3vN zyV7~}eYnMZ#lLt#&>L~7DsV|lBI*VPsvv1p7J*hC!gQARSY>}8 zx3k0us9-x&L8t-A!eGkEj)xC0NQ^IV7xEC~gH;nMTK3zDxNYr)l9zR zXnvSAPT`hhw%0`t0Rp&~kR{$)%PP)4+;#7tBk2CK(V5C7)$jTAYw`QeJttm~zeD5J zpni&jKR&N>7=dnn2Fo<$eK#rx=q37J>Hh$e>)-YLeR1ja?dkQ`)9Lm4{{Wxh_Wd7T z-lUi3*3%H$TzxFJ0TKf$d%U_zh;BTMF_B^wr0^nYSRuEF+cfDn9JdOyDSQ^O(Ng~a zvgXiuFSaFsuJ?}Xys3>9Y#LeMYIy(wkEyp1DiyFZhAN~!9+4Lz67!_HdH7Tl?4!fdtS-#pM-`07Wfy2GI>GteZ#WVPC_q)pA+ zfOXk@&}LvLrB!sr6<1tM)i_?d!S}&^Q)jUM0GB%j->jG7GWik&JDkYX*!e17Qu(`-C zfxWad<_U4@I)U3sU&0wO$Y_o49o;Vz#z6O`uc!S+3gjx_)!orojH*umfG=ILU|D0o9ns6c*M+mF%&HGSatY;_hEbWc;UDh-kG{G^@Sv zb6A#Zy_X2+M`A#-*Pe&IYFZ!(NiE#hPVjA zqR}4M{{VG&8F6L$FVekPzshU(^#e}?vN4irFk`;g3e?ZHF z4_~jJ-}L=w^yk;>_WeIq`agg1817f)0Bj#{j&}i$k9=cr;O~N}`r`s>TK;vbq1q3L z!^PcibFBr__qna;%5{}^Z86fTa^Xo!a;88kB?7Jx*|%m(Vl6QAim1MswPRt_y2fQ0 z#}5T8y1UB3e$yRH8c1Z+$*&oqn~arA;nv;J!JJ@UP4L&mzAP?AoQGP7D6}Eoo9_!6 zV5>Pe@(F?h2bU!sAeCYC?_v(lQyz`p6ltbcyk1&oo6ANIxzOkY;D5Ow)p3w_`XzF5D(#P@YV)BS}TmN9T30P1-vY9wu$pj#>u z0cEwobsJQ)knJyf(%3Oa354~|<1E80^cui0Ydxa3j)^0pJDsMM~_O5 zUZ|Nv{A7t`OS*nOp@-=ixAdNa^?i5s`mfQy*Y)H4pKn((x$h2-3*!1kQjrb;fYb`E zxoTgA0SGjBu)!2MmSoT3$g=cx{YoaMJ|Vn?&p&vbky)+?!x;gZ!q;-g39y)CV?_y} z0A*pyTUk=IbQ%?Ft<0f^Q7Ks}!5LYHjJ!n{uh|ldX+n+#zQw6)Kmf%pRn$bS-MZWU zu4V0@&cVAOXaP+Ei&W)bd08q#=+ff@f4WtZjEq}-j~q(C38xD2gQ{T7-~p|7=$5Mb zJaJKY8Ljc|iMH3u{IPShjTqNH$WQ1XIvB@2&&Lrux%eyPDONW|uvg`mrFY|(yU4wO(BVBbO`PdLrrELf>brI=xR zrLMiJthjq~w|eV3h)Zi^EMzM$PP`4P!;Y5Fj+;3^WuJH)J##XEL>9}eGt~woKw{!i zm+m-$imk!)e8Sg|z%cN1;^G|w1<(aky%5?y#;X(A(qy`Y|bjdFN%rUMJLQKR=C_g;OM_JyK)(ETrd%5^hpYMul?Z;HwEFg+UH<@I{r><5*VljWd(W?VpHa^*$$|UDpgOAiioF>` zsf3)P(^V{px{m~<*D)kuZ)~y4-Vof=1Jkn*2PcTuDGj(74z%O1v|3W+{h08uZ_Gz( z02;EQiHznLKD+^vyAV|Zy35<$5p9$b%B?Nv%&}oJcR{Y8YBe4LP-FH}h#G}eJe$us zH4bb!IdmT|H8R-TdjZkW!!qPMdcb;mB^Insq9`+CmDQ+u!R+JaX8!<>$C-Kkj4vy$ zf1{*nJ-F1a^SuA6y6EQ`mIxSgF33}Q9 zW0hi6)rY~>T#2SBhGSZ9z|1v8mjf_cByNE+4Ud}p6{6>>Q*j?%lJH>Iqf zwZ&-$!-s>iqlD$U$vCe_%ZoTB`VH`0S`?$2Jz}Eqbt*>6Byp2R`@9}McoiyCKTXB- z{r>>O)8+Jihwm_j%ZK<`afi@Pvq#ZKH)dB-e-V_(Am35Q{)I~a03QDU$@TTq^nHDI z{T*l5@9XvB)BfM9lRAf2@lzTKZdmT1rz=h8g6NIBrL1eHh87h-z?_%bWL6q>af&-r zA3CufAHaoKZ-+s*O#DN^PBiPx0;mo``zz3b z2GWjH@zxGP#4p|M=@R|Q%|nYNnQ#Dz-~Y7?Na1n;0^bwNy3cq^V(i{ z80b3t%Ev_2)9(y~M(^o`8eKJY{{SaRSf_5JWl{#ZgZGE2SKD&ei!dms8+FMQLfGao zE}LcGN~UZW>hXDlG_Bd%bP|vIN|)?V_*r#(K}2Hl*UmL$VaV;oL#_AyyvhcCzqsVp zveC-x{mT=d2OqmH8OFQ3ClbAU`RGbK_nUn;QwnUuMsUWJdvM4dRW=I+Tg@mHN`~ce zArJ~;m1C?(UXzY`PiD&#SEY>w6DsoRB37Ur4F(2;gJA7-`1ZM{SE25$z#y^U+19*E zn!9sYF|0;pXn~wHjdhF|Mjah)&LJShC`|CC*2C{9GaTJZO7%zI{nuT=KG*wtTzzlR z;e%1zG@oGpCZDGL8vePTVFDhvFZCY3dQ5z8$v)o|7a7aZn63FLK0iQyo0l#RrT)LK zqx5%|`hOGa`~LtM14j8?0m_%=5*&+<-|E4oV1FlO7;Z|T@~5=HvEJ> zq^O7GL(De=W&i^m*Tg}F?S9Wm`?9a=EDy+d9cm?g^)XQm6-N&dJb~2x=60#Hcc0=p zLW9RnvoXn{${Yv@Fy;k&QL>=QeOL{SVh^-q;RphS-YZ62u^d?|IY-zN0&*~~EMI1E zFO!9r;)3(f+hYO>A*^Qq02!PxCFOR%euro`;PKjHPTg4OQPt<-7dzti`%inX^)2)= zSz4$&3kz?Yj7L_a($inL97QEUmEEk*A|g5ifV4c%X>6vMI1JiilkXVy9JoprvQg#= zIvc4hVeJH{njAv8DD79D+HhT&ePSRFL33L3%vH;6cW6AY1#mNIT^ztB0+x-rZWJwz zHF|iVTtDu*@V@w$IrQiBFjip2!fp5bO+J4qyw~;29|xiOFZ?>Z&!TlF+kX=%v?B>~ z9b?XYy-s23vgOP43?K9Te_yZb+I9U~P!u})IOcejCCuzjRORzJVW{i;5}u3 zrU{JSFHwxVG-U-b>xi#YG);)9qJ;*zDwy0 z$ri>=#}-1+MObT>Cl@k)!?NPE@mTuvIY7$RbLLmC z3(~@Z^$mgBmQaN>Gg}$Am~|x6n+nO|7-D^=FpF_1&*mTdKgXCqe|UyNKeS6@oIgwo z-D~X285HOryE^&5gY-3PcHCunCD{2{GkP2$K^Sq&cY%$>G^?sDya$nBatd6mTPC<; zUgcWTex^F5LrlXNSB>(+dH}!`qV>aUE$qE>T`?%9tX^Myz#A6_?cPw`Z;Hk|aWPI^ zcX$+Y9S4n%IQNY#Dh1GOWiDrc2+=zY6aCW&^kBjskE7@;hM_-q@jpN1>H3~#pB|MM z)7BsGYxbXR{ioW06HiM`K%FNj>VNHnAEM>Oj9fhiAK?3ckNW=r3R6fvQo6Mev1`eS zy<5JfSU^Df4j93yVVvywoaK!Qel0*Dco%nhyanoY-%Q7F+ucsj1T>4m&>av;)Oj^r zp4ft6OLr%3ZOMXeIc(|%QWuhEkPSMco)Mlaa75623Xu1L_R|tT};U6M7ib`>e(xCa_#>B zCF9p;CCs0mTmI(ER(-v@%Q4Si&uF^y?-$kdpJFtn2E-=SP!kBjIWs}nAAJbHfmQ$p z3n`}ff=gocx`Ni-azO!S+9>W92(&g_rq@G>%$ORnSNDW1m}(bh2SpJW`3vUg7jZ8k zy!CtWG%F5VI<9&_dQfp`W%!*8hO@l6nzV`>P}^96GfxspYz9u3= zV%pZK@OA_J?M~qOthsT2LFoQ(N9lQ*{C<{5F=`*LQhmuj!}#>nsZ)xnUrWDDL(q(J z;SW>R{{TV$7JX~{X$@69fVfR;+UG#R@`Y^S=@sS4t8T6EnTTvUy_cM&U>64~;O!Zs zVcc6nCogl*=_)o~6R&u5LiKDtJzTyzUlX+LmHH_s7?n$?M7W#9Vu|_10VE`lxE}9XrQS z%WhJ^Z5*+gr~IYDE)WM(BHkQ(te}O1#}FIgYbAKxwA?Ms0>`BqOhdZ0Y|(6{aV~fO zQq^vDGQ`I9Zlf>;g_Q#A3n0gErU6;(FHl@U?~D#M=W||&G!wCc(08Ei{qe`$`^;eOpndY59qo@HlD-8$}u zh~j6FaoFh`Fw)>2JV%GNzj=UQDDMka_xHcKsox^DwU1lOAtMPnD#ph~BVMW;MPM8; zbq%>{rbFTzR#V44{i4ZoSIMiM0^ftFqP@=DpaJI`5x&!`EsMUAzCM46(k{6D;NRME zKn=0*Hp+4ajx#MqY&0sTv#T1=C>pr6_)Nrh<*Rn8f?>-zao&#Px{3wx8OgnnO>=d@ zEMul+PBc@k@psZ{TTbOx4m#U78pOv2A*=4J_S?oMJ`2}h!!3-_YsK}KQErl>U)-{y zj@^u@n~MI#Kt1*6b{vs>3Z|Y}m zmGAsbNGVP`lKna7AF|B5TP7T0gj7_aW*90`$SvXRb8?{U6_yNMggMvVVH2-hL^_TR zoK2eeFZqb(3j|X=3*ns)w5A(a$j3w0ZkJVV&}PRh2b5N$RSt7=3~RUmvp^~~AU$Dl-Qb1;uA zV2f{vE%4tG>j9N3Jux!5M|9f2eX}4Kysfe(-7%@CauyqHuy{>E`c_jxV451{F=;cP zHG_?FF>M_U;9D8P)CGaQ$bz>jTZ|z{74v((x0~-X(YOQb3aeGyWY_bH)xJAQ&Ps%` z?Agaf4O{Fce^$fZ7dWiWzqqVlZvdlLclVWmIdL{{WxwEFNDc^%%z-y$1x= zDRPEc>}T(KP55O&+E=44B1V2>A`k6yN6c}Q_mFZB2>bNk6_^Mav zWlP2Z#1S}_D{0-vrLJ7v6!5#K)wVNhwsjWV^v=DaT`VZ(xkA$H`Rf^3t`qq9oEARL zu$^=L<=tYQ%)Zl@X@7^>GEMhe2z_jhn;Qn;5PUx23r9M6 zj+xg_gaJ6=C=IN&`*x|I+8=ZIlpQupc;_c>(MC=_JWB&y?{Au&mMbUBPL3O{hJfnD z@F>#Y7F(g3i#|9TLoUguoB<2PXd!8h)z(tng5A3a$;uI601kl*f|AZTh+}K0*eu&f zT*jl6BVv-CrA;-x>SP{AQ<;Z9uvpTIqA2DfklU9%N|vUm#Pgqw%u9Q1_QqHqP!!`W za90GSCl1L?vXE@qspOKrv@SmB|AE9ibSEw!kb1_CLqzGi%d))7lJN zJs5fr{SToJ(|_Rm%Ka58SD@13-sll&ok~|P_8t?*Pf2DMaa#jO@<%MU2iW zWkjN*@7#>C*mPQaz^VK-0kvIS_?+eszlY{0URT1iJmpb&i@h+!9hrIa9NX2Cza4G} z3JRJ!)%UoeJOnzS>$q=IuEVsnb=1~>5d0gfF0s-Yn!mYHoVyQi-IxVYTB_XM6`ZjG zBcxKpM;u0E>b|`@G3kX(c69hX!Hv2^itut_FeTi$Y1DRQ6hm@9Tuak6eR}Mgk9W4= zyp_Vc*~d5-m9;Z9Mpob;!jV)$I!T@D6655lN{k%fv5ZEH@@*+S-r43FGh&;vkQ}~Q zZKxr7HI8e@W^4nm+Yug|dKE+#*>-c!$rW9|M0q)wvZUOWj%}7*WW z#^CM`H_Q?`&r|4?5TV@uL>8Q7W{3AFa@n)5X-$fE(&3xRWC;w!wX3`2_mpry zJW(nYZ40wgG6C63!s7a!rcE!5G%l|xyrJ$Gj-gUYQua3g}r5&EHKD7d|prc-&@D% z4C+esjAD+=)_!(v6?-vZ;#?m`^f4x|nu7<@`^omd#L{rwvg)R-D>zSo0d6xyU5>W; z3W-|D9Els#Jj)c(2LP;gCEF62*0!A7Etzj#2X!zxaRINuU<1hO;DBPUDClyL447=g z{{SE|rmL!6qkH0EgmuSaEw&i<1KOK{1oB{_@M1U&dmL;}&Bsb5gQV!`Ubf|jJe$QSH!q{z7iQj7Z@R_y%+z$3 z!xzuYsb{ZgjsF0unVD`1&V0qtYpeq@xx}&{bO-0!UP-9H%VN0Lc#bUzEVTB8a|{y# z;4bLhrspB=tNce%YS%Z#7S{|V-5GIAn7X>VnD~n;wa9FEBV~FT;l`e)>!4Bji=F^ZHBHiOshJ|dR$X_rN;w|Qu*1zT?9|6@ZG7zW)Gr13a*J9IwQ*NJY_BV&EtDmvl9V;kY-64jtveO$XK&JF{D0Rus6@p0X$%Fxa) z%rL|OUc&GSu7q}Z7;}i$K(~MQ?iP#@N}aeWWXxnE03d%!PERCfA4mbqUYbx zWyWWFZaT$;PUNvi({H1M)*h8AQ!A`fYI-!xq-o9>oAEeUC{LGI;sL01_kKP?YpnC(9-b>G% zjz5+pZL92M6X+bB{Va-6L|+eMF;{Ln^(HNKE<>z*I?mPGsT};7e&o2a7_&!ymnz5U zeqdHN%fw}n{f{%MrH!U;b)hd3v^Jc)_;!{P;ROS;4Q0<^IvsH>o)zZscp&7_@;Ldc zmF`WIPhwLTA8-z`n-z>0`MxSqa3esa!56ASVnLSN4RMXL}i>;S7@TFf`k(-x8f)L=ZCFO1gh&a{xAd z<8?R;vr}R#HmK7abeb|$qbCu*eUa7B4qD9)U+%*~0Bo?>a1PdBU7ahRZj%r%Iq=|s z`9vz#WUN91&ptKKlCG_1TSv1c;E9f-VHE1-jUB(=%sfFvuSI$)&UsPk`{bX=N*wxq z*{lx>IqUNL&c;A|_9Aj6v_APWZ#oZn7mTN*E9ZX}zb79Ew5S^u_CD-jCA0^TE-b+o zTp5~!@jmK(Yoz-qQE)H_fqdjJuox$&%Jq{mz>@XF&x7I9c#J>TxKkZMN;%@=C<42QOE_wEf3nf`Yp>Sv*Ly%y8U^qCiy?1jdAj^2-%GKGZEd?+uV5O+5 zV2<}-P+?Urrn^uF3zeT@UWUrvfDGC-MB!B2#rGpl6B?jrq$pgz{{UKywY#?G?@M~k zS$=0kDALYIy*HPuFqzhG_O>uKlvx6tmj(yEk&PVzm*i5{S(4G}Gp#zid4xax5T@=b%QgKz|@VYMq2I-vKW&oXPjL zZ657g8IMi*CA?hXy7S;FStpwc@*j37No_&oY4nC3XV`xe?4y&*E-8O8lMekc_KvuX zw39zc<_a|H7*T4spE9Q(bUi8^*uZ&s8E1PkR_0>8CBwY1PL*SKnKyO;6u{+A zFpHHk6MWZLsrIDKnS)0&epW0r9Z5oP+1`(B1r@X?>ySEk~d%-QMeqyI1 zeWfjz&uNopUT>MO#|zBF)v|}X6j5c=4op3n#*Yjw$7Ay^RerSLgtfP4Z&S?js?p!9 z@*ICsiOF@?h^E}6qkT+G^LqXz8TOLK{(DRpevV^bUC-Jf3T-r*E4YJS3#F#$bSfoF zwDo#Bl(Aa(@rv!pR3_j>OLBdv61L7vnH~st0sC{uLh^*Ng zf+trUB`L1ZD5AK!iogL^%C}=^_LXWjfE+Z{=Ap`h(`OYWTk}SxPbUSu?A@{9$oIDU z)v=6d`1&U(=3>>LZr1>JVVddMzo}hhB8}7*;j}Xpt~FJxN-@=qsd)UlOxr*(D(!cF zPxthE&SlhU`Zb1L{{W%?03v#SZ%x7oAd|ietQ;e`4(O1cjXX64%ilAWFSPB-J}}Va zLF6~JNprzMOBC@@TP>qCt4HG%y^DVrKYmiuTL<836q!d6ZHf-;y}?CQn~kEyO=0$i zfd;Bt8>St2__yX`UE*R4+(7f-Exsa-^=%b?NsJP&0eNN1a24Gd%Pp8Z4f$dyzFMDp z9V@J-rRn>k!vgWv1;5H&I;z`nUTChFaN%=tV=5=w6)myaAL0optML`))`NiN7&`U% z>DKKx7J2Bn9jrNX3vnEb{ItyL0#?o)l@y^1Wte2|!pBRHmo?A02N1h@pGU;KO|fT5 zO80+Cgu>TO-I%@S##C{1mLGm4Q-y20D}xn}mTEqjggE+tW0Pw%yDmNX`3oO_0mN4BWvU!F~cGNbR(DnR6iruk% z^^_!0b}3vCokyew*im6ss=W82Y3IS0MI-rOitO-;t0B$@9a&2@0avOuU3@^X6=*5o zvJ?qu0gqDG92uF1TkW~nPYF)R+bfPTxcj3jS9*v?8MugPRjhK;+E`nldjRgqeHO%W z$|bV>{{Y|N@%#ERmlP&ZMTvf$3$*B?dqMQMa{WWr5O=}#gM<;>gX;+hhMDg_lt4OX zVgx_jm$wgEdjOUl00j4LGJA4=xIvUosM`al!I+*vpIk~8e8AdEmkCic%yBMd-TMW|LxRLCW673JaBC8ceY?xXE849)7!;gDG|ba#W3S1Pbwe$Y0WKq&yj zD+W#o$F<5EBKo*#L^n+XI8n|)#p_L=*1B|{%a<%1LK-5~jVN@*iEwx z-n@>r00*4f_3%VlVY!3oJ3{pqpA#@?3i1Pg#KVLEgt$rr>gDcfr|0>E>a0198x-r* z>jvc^>YxnJFRe_E!FX4WCGrKO_;!jdHeN!y`piI~oFr zdOGP^%+Q@pm7dtB4dq&2jQ50Ea$K3-UeiTGgP*g~G$J`&lpD+!5oE&PXxKplQ(9kg z>f>_>phk%^g%fd6gN-Zg15+fK(Txv(GK*CgM|HNKo5obWhNrkbyh<}{`6a_jH&`*# ztXgYV$(N_S#2k0v<*nP`1X(4)Of9lk3OAg&%IIm0fFhcObtq_Tbmy@GXLW`zIj#r= z4KPsAmp5300T?pX7P`zX>f<$zj3lLr&*r75e8F7EqjSK&3=n&IMX?ymI1Td6=^K); zTveL`ajN)(OX1v^GW;Ojy`%4&Hx|Ebf4=E>mdixNl(1nd(+Zktr=!{t-@*&=AJ>1N zAEOTFI5pCn4D4f&v+6}SxgcXt4Glmib=K9h5%V%%

UN4+FxSHYm4Pi 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 z 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%0D%$UAI9FW`i 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%0Aj6ZqCrOmKu3@fA6+4+`G34d4o!BmwA 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%0Anee&0#4i<~p0dzUyvV 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

2Qpr@yHv7Q*gRh=RZKv+0 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 literal 0 HcmV?d00001 diff --git a/ExDataManagement/DataStreams/Cryptography.md b/ExDataManagement/DataStreams/Cryptography.md index 460e14e7..cae5d920 100644 --- a/ExDataManagement/DataStreams/Cryptography.md +++ b/ExDataManagement/DataStreams/Cryptography.md @@ -131,7 +131,9 @@ What can we do? We can move this text to an element, which is called for example First, let me remind you of the goals. We have three of them. The first is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. The third goal is the nonrepudiation of the author. In the latter case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. -The following diagram shows how we can achieve these goals. +The following diagram shows how we can achieve these goals + +![Fig. 1 Digital Signature](.Media/PodpisCyfrowy.png) In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is assumed to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, send the whole result to another place, archive it, and in any case make it available to other users of this bitstream. diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index c754bd94..28f79443 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -11,7 +11,7 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams Preface`` +# Data Streams Preface ## Key words From 57d52998603fea77450e357439eb725f2c16ba5c Mon Sep 17 00:00:00 2001 From: MPostol Date: Tue, 12 Dec 2023 22:25:52 +0100 Subject: [PATCH 08/67] ExDM Add documentation to the selected parts of the code #369 - working on - reviewing hash function section --- .../DataStreams/.Media/Blockchain.png | Bin 0 -> 36228 bytes .../.Media/P3.5-KryptografiaCzesc1.pptx | Bin 0 -> 768032 bytes ExDataManagement/DataStreams/Cryptography.md | 24 ++++++++---------- 3 files changed, 11 insertions(+), 13 deletions(-) create mode 100644 ExDataManagement/DataStreams/.Media/Blockchain.png create mode 100644 ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc1.pptx diff --git a/ExDataManagement/DataStreams/.Media/Blockchain.png b/ExDataManagement/DataStreams/.Media/Blockchain.png new file mode 100644 index 0000000000000000000000000000000000000000..54fb24206e03e96edfbaca7cfedd581abb269738 GIT binary patch literal 36228 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%0Dg`@^2`Wy| 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

F^O8D&ve5RjavH`w|`gnN@O6?~kp`md*Cw(Il<2 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

)Qv9 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%0AaxItX+QaUAgJ6+7ILR%(qkVi`PkJ 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

J6>@beZIWJYkAg#zj&I%=lhw7)oWgPhq;G- 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

0!x~*&%DO7=w~v_1UUiS<^gT=nRQwS1bcgNN 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

j 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 hT|rp Date: Thu, 14 Dec 2023 17:44:05 +0100 Subject: [PATCH 09/67] ExDM Add documentation to the selected parts of the code #369 - working on - reviewed cryptography. --- .../.Media/P3.5-KryptografiaCzesc2.pptx | Bin 0 -> 745812 bytes .../DataStreams/.Media/encryption.png | Bin 0 -> 47709 bytes ExDataManagement/DataStreams/Cryptography.md | 44 ++++++++++-------- 3 files changed, 24 insertions(+), 20 deletions(-) create mode 100644 ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc2.pptx create mode 100644 ExDataManagement/DataStreams/.Media/encryption.png diff --git a/ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc2.pptx b/ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc2.pptx new file mode 100644 index 0000000000000000000000000000000000000000..9c50db53e9152bc7bc298908e6053b8d016655cd GIT binary patch literal 745812 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

  • 5Jl`7#LO^564sJ=$1a~n$1jakQtO9N*A+|O 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

    AeeC^L$#s}p$aByS$b>aAc- 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≪jk*J3shP6 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

      kL)U}) zOwl?`uw-<2d;ijouMQ&Q>3n>AiU|Dh+;188Vo@Q`g`>0t9QotLo|j^B6~sHO`jy9X z2Nls5;EllRS?UMvilt3ciD4&6#Xw-GCLjG}8C87T$NehVxl`RNo@PJK!)F{Zn1fF0vz-`$}Y^`OcG>Ky8@S0d#f!?Oft6rCs zy&5BG9$)8&oTdq3V^rxl=a|$$^x`Zm5y)wRvobN%!WF8<`dE=)5(^cp5(|TP+GqNs z+e*R*;4+5KupjGka+{U~l|(?283ahLYy)psNJ3Y2mOY^z_FCq3zY|!52dy6tS`(C! zJ+#NFQ&u}<;LBj-nu__zg7ia#)1Hi&XpIMHYkt}+H^I|#_#<+v1@Q&k%rE}fiqu)x z7$T7Qs=8NBaNZ9IP_RfcqZPR^mv~QzYR%Ik=ird^#gc)%^IyoJ9kq5(C?*y$pdh!= z97HX*Ap6X&^TfgUhIiU*vZ z+`dv%rcOMoxD?F}3cH|`IN|u=x21EjH;{RGZT4y9n<#a5R7M z3O-nZEjsyg!UoEOhD8&DgQOmLh>u;xnKGr~IPTunBRKh6o`zkhj;c;R2X@11Fo!Rw z;+=cYf}0s#Nkf}V6mx40|D5iGUtD;=lCw_x zQ(N|1vFnipIi2Dt z`xyUm(?n8l3H)E&7!9T9Y94Z$I=F(_a`z;Z+uO6h`uk;oVpUPrNLoT%Sd#=XQI`P0 zbIUc1gFj}wd*L2tCSkixxEc;<#!tu@lyz@MkY#EwB!Yj~27fQ}iYNQhRH57UaAfd2 zY*skF=q|(fNs>1>hxxh(MaL6m0mT^&mqXr}H!tyJ}k z;$eF?z1`3|ID@#Ouv!u(unY-Tf;-2PiA2Wasft@sjlVVmN~AJ$w5Ym(+GQkIIy?7 zyQ?mi{eY1c?|8&V2@`97Z6x~Q2TICJbrEiwo#jEnjrZp-_zXSS2Zw|v2-gtHCz=Kq)y4O#;);zo6DU80P#Zf}NLRk?sN=)QY1>AANW_K+7sHRAGQ8UoH8BkO2i#nk z!73d7GCUI@COV0AA0|qWk!WJz<=rLN!F;a^koAgY0K1xy{Rxse6b_V68ChB1f2Cmg zOk1#=mcYKZ(3qSnZWO$>X_D-_Kqj69 zEhEzOXI~$)Ko7D?5+OPH2O#eQ1dPVte@xK*UTFK!3p(8eckkYI>E1i-;B00XFlDbs zPO&= zU)3^rV{{1rZ!duSrpSNu>1|L)?EB1^{ZVtw0S8>2F@BA|g&hCfFha0tajs4+D%ED4r+M zO=agqu>-IogMq?xz~x^nAb8W|Sl|6EeZ^Ts^G#ZQ2?s)DubR@unzDeMY4|e)GEU6O z9)(;pi(5Js1?+$s5(J=Lzg(B9TUD7;%sDR|+LYzo{C3&1Y5COEyOjf|!jSY}29UCs zV8=sI(3hp|)|41WCP+C`j}O{;WU{#E*pkuMlIc)YndDW%SX2lVw60AeqPr)*K_^5t zlm&oLY$kbb#n1PkjBeJ}p5_pF2^s;UpG;>pve>(^35bSp`$JG9l4~D*W_LKy-9o@xRf?|E7?Za2D)F z8so;x_NJR0l?OFZZoG(d4L8U_ZEq+cC1q;s4Cvf(WJ#JJvpHijePDNqAYynXE4|Da zWg*RGD68xqPC!2#P5`}YwHcwqhXC~nAVLp>7tl9p(qJ5@GSab`Kw_tx!y5t#Vd%i- z0g~yOMx4xyj94WlOxzXJ;51%`sFI(bcsMSl>_bjQS`xJOu-XtHYBT;mDFMG@3-8PG zz%B+%WK@~=CD`U_)N6f|#}X|~mm8VX67@j(ZWzcZHT10oGf>Rq+$mv3mOJ}u(26(% z)De0e=@w^K(HIVtyWL-q+z`oPGCtMO0kbNy*(P;QW^fO!sj2Cnvj)P6K%{XE$5laV zvPmM^Li$jZ3k(8p=ZBgy6m&fq!xFel8yeEDF>0dt8y z91Xc|Z^{XFO5h!e)~*QIz2Bri`CW}0--n{01$2S3B8;qoa2@Dta-+3a#~hz(cw3>a zfJmg#Zbr71u^y+tIw@ z-#$Qmpb9i*T`HmQ%>6;-uj}_p2y+sSyRu)ff**|i)wn82A?V-lxPJ8JKKMmdi7~Ld zOMgQZ2(*8*+;C|`2%#okCX;I}6F|imkbZ>ARIuz=GIPrkR$$w(pLAfg5XwGfQPA>3 zDtu5&6SZ^~d8WkP=4m^OMV{;#PGIi(0;Y#-- zYC&KEBDDY6Qz#QJjmPY)?(V97(MOz4TUWOW=m7$X0Xz@^Y~|~C0yUoa8f>Yqjt?{w z=|*8xK?m)?mDXJ^QlpKqZP2D@5 zV&=;82|p4s|8b)yOu*L4*VpyOL46GPYfC=Ce$c=%gM=(Bmghef6Z>tw<;p5X( zNeY!R$5@6p;X#sEWJna2{5tLqsF4nV;Nskr7c;p1oWRbR8scJ6@$pIu3TQDEBZ}YI zqnKD!LReIspJqE4|CVM;2I1wA`6uT4T2XBLes`Qch_0T7ciUq0F^Up)o#y2 zga$x#x~Ll)S{uTYsQ-CEeos$Nep%UI+M`)>cSfO&TL&J5l3vs9D$&107Sveb+|6@^-~#_>s4H{rp(DQN0ki6|I6+ z9(zzKH?@qsiUg}AqKGlwu@^^Wls zmXiK^<1kzO-mJkHDTE=mn zqJ4V_@Jx0N05nDefREQjLKXdr-$4hkfPI_-amCLW|A7rK6yf+bmV*fd{3rMb_|2Dp z{_)@YiNb#aM*K#(=s&PT{9S^2e2CfqeIWZk)cg1Gr~kn+;yPjOKK}(d#Fe&B{-3w| z|8|2@`^O8zMZ*CRJVvLCPVj1QV;fz+EsETy*Nk_A1$tZOso=k&!MNPn>FpPP-=D>M z8J)1bF&dLpPKxk7Xi2R5vzc&~|73^cjfoq%cz>YtdAGY-=6BDv&6_||li9D=j{?o< z1_qTC#&VqIt0}F-)96N1(%&5S zBv|?GT(Y)}TD3%v0P?5Xhoz@Wl}j<*#Z=1qM@FCK1lf5K7hYd;ZF z@pEWzj?AV;Hc1|L3(BdhfOBXyCJE{I?9$C_Sa~tZ*XG^t3hA&U7{+TF9B#$9EW5oPe;G5Gk}G3sWsq4eB-oBcOQ6evExyQlJo5TsxfVA zqnwn>?5}b34{Uo_6$UU(^23;jEw`MjgD;R;vKVuC+sPG2+gafVqY4wzssk`I9|zx? ziqwji*(R1AOPrkE=KJLh@E>p5pyxCfarcf#ORu~{jyAu5=51GmF1HJ`OMhzzma`LZ zr*lgs&VpF4764Q;oxj%NLK2|D^)kyikU+n`_k25Fr$kA>^bP#x920oRS#X-;6M$7O zmPH|4&0w20`o*by#ZKyqM%Y*ko4)*pGgI=N{orpkWuvzx`;}MM^cjKRLUI^p{Q>s_ z7)TKAdW^}dd44J!pZP+%*^C6M_dYKk00-CFYg#{FGqGy+vvV(3l# z-QTCX_zziBex4F5y;{+@=i0KVoAks(EdSV}B=CHWb_frM<-LNSpiPJ}x04@vJp-+cNc&y_8Tr^82r2{NXi$)M9ZH4`VwA zoXQ-}ME}A!O;;5;wI1()3EK%BGP+dCb?hD^X62pE6?7B{xU9Kml04{|?W0u?@sRp> z6a4Nm<6>{-JWAJ=7Lsk>`dIEl=$qtTL4#C}%(i8xGGlVh_{{|&(us%hc#Zo~srS)= z7e{Gr9zNDK7CWEE8aB@;W#D&lFpP`9`#r81TJ;n71o6vC+V@`u7UkL{C8|y|+VQVM z=>u9)?$@Whc&)u91MW-Fa3TBe4uxBKP2r^)?N_%;7yGv#{H@a6=CudY`G@OU@pAq8 z&HSvsIAwxGP3QqLtKY_Ht8(_0hP6BH^4{#MT=G?36D#6%emZ@B@fM1-;JX=%bU+H$ z6TSac58Lr01oAz9Q{Q=DN1wBLK$3$75rJX1d-+s0QO{TM9QKsPAwk;OH3!Itx0fu) zyCoZEA%wbYzbRk#R_Ud-_GzSK;WQ2kNp$Q$i)=#Ab=&GA+uK}eA?Bk&Z6e-(SP(u> zzi`WYZ@X@mk;vXpQRs0Zk0s=AiT%VA!)bS;hV_Tt!X%ja4B?m$1?)4rwFJ?ohT-Ru z3th1tY!X~(q39<)+clg1!m;2TS{_XKiH<2m#BE>p*X_2`^v(N)dx4hfn8Jt84(I;X z9eTGsXL})9TL1Th*rJ!^iYEf*%E;V)N#jEtbA+mTc5E8@^4rWkR{w0fr6U0PC-XVR zUK8#19iAtRQ>JKSYu#J_$<1GVxq(CX=dn}3v40Kq%dW4#{g~Apq`<=^xBcGLjI!XH zSLel2%jU*waJ&y6BR=crLo>NL^d|asm?RMci?dSXMEh@t~rdX>*e@y;urdy~WEtG7tWCZ-ckHgkfsXTa|2c z*!!Dc`SkZqo2W2aSC!^Wyovjp~52)%~J!ME%OOz!$~=>zH?^mDh?m`@LOz zHz`&Jo%_xOHlA!HC3XlziB5amcUi647N)cP<`KnAJHfMIlc2zi;9om!Rk=YOP50Z= z*%$6`^}AexA)L#+S3RF%Z(_Z`!=wUW!gLX+*R8@n=KWDbo|lMp)O^nBu=xm%)7C)_ zSzI(mhTJS}x27XtCNt`HLWTtvW}M}l-j6Q3dsEcj2Jct{Ks>vt!q^ONnMJF0Q5Ewf z|1fB1;CJCY`o`VZk-*ffu|fuYxe+JlkJWlg+r#s_SzWJviC?)F-2<`c8(dYeq8ziX zb9(V87iOG8xYGWIDGPLn_*Js+;cl)e-o+hrCFM^=Qvr5cJ5$SbhcYW(?TncHwA1?g zxu`mE;h2iShiy{xfB4ZYA2+Z>I!qHi=yy3ZW#B>8%{(_ zu<4TV&0m}I0u4ueh&fn7k3nqYTw3~L#}`$*h-SIF)Yj^H_;cjo+&`y)-TN4J>b-e8 zba6bsp6&zNLWe8X#LHbm!$&Ss9hyHGt0&2uImOvdW9dEKxdT(Puw_LwBnK&!+&CTT ziEaCvtizmJr=;_7?2(F~WH z@?X@4-JdlRC$Ky?72s)JprdGw3Yog~f(FEZkc@r| zs8z9~DuaVd^or5T>zuFI>uPK32z$4JB?6Hq>LytHZ(`TemnaKsW@w@7s4Zt;AD#H$ z`dg%69!Si9hMX!|Tll(ajwRNS(68zcV5x3`{eblLvBQIix}$2 zs}R`d!AuE(<)u4eHN^Dv;*L1EW@$gJw^KuVU6+2erLlhm6GskWk4krgPbMr$87KZ= zyG(mD^L!EIeBpOjV`qg&Q&$tElv~AM+Mms%5Bqra>3mZQYrKxHWkUULmi@iHgM?zI z{nAnsTjx%eH0e!zK^UN%jWX%#btC!{F&V#U1_o{=2+ z3QbRF>n*ivyU`6nz_)^uPPo^SB&}sQfpz&i8jHq2yedhhm=B^=M8jS}k^*xW60}-w z@PLj<7e>Rl?(*xz=|0m)!*M_%bQNz{nmzgypO1M9g0ja z+V3cH;q%(s=n$??+l`Of@28NhUn9Z(u5&vs46YLlT4qpwLo%6<;dWTDCUUHd*&jXa z!}20ato2MC(%;YLNxN&=gU~ke4=67A3%~!js3fQ;_%o4O&UjuxtEBMxIRA- z+LN9@s!ZGINO?hzrHk?`kQNqt{P@;HUw-BaCeg`I1PdGC^tQDFVS147?y!FJ;DbEL z;I&#I(v+19Vf-GJex=$~dtC@#^PA^10)h-!Dyr`9998psDeB*U?Ukr!VWylr%f7Zu zb!HCJEbMKi92;WU4Fe{z3>otNx>AiQGiX%u!Yz2?Un05=EEn8*FD+q+Rnem z|F$3d7PoP~YjC#|=vyjN+M9#2G zd*;AiXXX8&YsblB@au#78}gV(&QC4skM-Y_>{A~{_Hi7dA;%AaV1rqVQ(3N$!iE(?!$f0w_hRP@lL4sDZQ9M$hR8$RWP5* zY7yNaPXtvKQl1QFINxwN@RXM}Qa>?3@yYy9UFpdpZ@QV3IK9U0`3w7{#-)1yLh&S) zaF68aEbh2FO9pcBJMr^MVrrcF<9JEfzR`5Lk;nD$t@j^c9%pH4-^Ppjc*Rg7ZxFh+2G9kJuO_SQDO6(xjs63k#;+`9oS#ik;}7#c)Dv8SGQ{O zx=$`A@{yI|f(N!+P3@pO7B-}f^&z&uwe6+7zgoHUKG`O(^548e_gD$HQ|jC=MwHG} zW#mJmavtp-J8g+4oQUOcKKwED^6VeaLj!CF<@Jzf!y#P|Ix~F?>Q$QSl_6;1J!vrc zpM|W);=Jd&Eln4~j01=Ni@zD3K1(WJY)z)D=jC{!n{M z+&@*xtTO<{mSXR|CA|Pw96#UWnS`%IZHUM-lU)m^D~}|;m&)!Vlep!@Mn65@s|k^L zcj0|H@L2nBG|T7wE|cebv-NX1P@J=FaxZU15-BIm>>j{o!%D8XSi$YD!QUeF)j3tt zh+pSQ_3{LInicl3j{l3!lm3h3y!EkLlGRNW#)rt(~G_Cp@NQ_y(=WA`Gg z+2HxZUH>6Yj}v>7CjU6XT~YfSPVo{$^61xX_SZBL0EK5oCiOR-?mZvkj;jCuPXFPY zl$sK#BlW9#oTFSXZ1};rhZc-ra@JZN!5n~XqVpk(Cf9sHsUzsB7B<7>FOeX*4ok3J z)@`aS8b%Y+soST$-b=If3!~Et2-2z_@rft`dM903lJTn;wIT)IHV1ftJC=J~0tn^- z+4Xu(dHymWO6h1G&dbI;oSpnqzLp{E%l6u!vs#D#1$2{4eiL)MqjaB)N%=*V+P5uRBF|Yx+&i|juFl0zNU|ZUjk2dFT{~RD31>t)}Z3|QT1JA%c z6V5`xw$7EoPwfd(HCv=j+pJ)((k0Hkcsg!9F5=It|2|uIH-J~JRc4*RXGH@jtsa|s zuX+zH#DK?xl>wY~l3>+a|CLHkw6>Mq zdwrT~eLm!`z#WanJSj*NI=^y>eZODk69>y~;eMu02euOf)pAB3QL0P_et;AXw6I7VH2qN)?i$iR-|KkALKs?Ec@SL)F$7s|0zzWj6l* zIm^)1g1$ZTG>g_xVyX6A$0+Kt#kkC|Q_qE8$Tw$4xfgM;uH5171G4+jrl$IY*!S~| zu$7;Hd<$)(A3BJ-Z(7OvkVtoppgjbbQvyM#-ETeab#CWC7^sPt>UbVIwL+}F=+1)L z?8mly=0Zz!K?DekT|8uiXpk~cR~eCnCa^hh&S5}gLcbRU9?_R^*3Hy^bx^owP_dAg zV6wPvCK{@0FYqGB;t++FjUf16&@SX^H~IAui}~nm2T#Pa8XS>YART=s0OE!zZ*ib> zbo9y>sNPW>JsQ2y=F+p5fz+x?hTYIIo)a!Hk2ATp<@P)McJs9xviq|!T^x7oA+ujL zLs>Bhmi035U*)#5x)k=f4?!q`u(<+&1|sdKPWJUV9WgKdc;I}y_XdyOeP`h>cxJR+ zA8rqv6Z#5JoS4%NZU{QTyZ>*{xm?Q2B>Bk$AFBO3r`?%@{|^$@vX5=<)^;l~8wXkpXZdl@|V01?y9iYb?E7Y9tXPJfjH)TDwWatbNx{KDjDu|5r1@>Ae&!07$no zlHV6TRA2iCn-PGOGM^kR#a_cV{=dBdaus4e`jT1P!fh8j)PQ?Zqmx1w%0x?|nCTJ( zrgiiZ@y~q~^YEqJrlOtkZO2S|R&rl_(Cp(^6REWNC*%AdP1(<5 z1983XKUknHLHyu3qI%(gGqeEApLg-+SBd*dfxRNbDF;rnp1SA+PvUA>;ks@+!Bsa= z=R&V~d^2UwPHfd1Z{V74zn3egx1)R(yad}hJAsXEPy2_^2@N_xTPrM~B06LV(A);% z0Xu5R15}oWC#g!1Igxe*@9eoJ7N!*Fs!=Fhgdjx2@!N<?Pkh6+TRu5=o*bTe{d-@$pD4zD6Td*di#__{HKXEs1_PZcAKs}r{>*LMM^ zH9SL9`rCeq8MkFIN%zB)vb!Jf`bi{dK<K<{>OXkb6MZ)#otFtHj1{Ld+tj_JiI&PziV+91u*xZ+HYmI@9Hnc zMiq#dYX>dulnBO5ipPXbFyn>lbh+(L@RUXGJkR~GFxwB11jS3%QFQXt3Kto7?q~{H z6}Pv+R^+V}-xdx$`3jbq^GLUId~17-kDUuJ)4#wWxRDm-Uh4>#f#%g<}1@N z#CPx9HFCsMMo-B|j3Upu6%FxMuU*I1`B3mk&MxYYc+6B4A{ocT3O5X}v|odgU##l% zg|wXmuA`;3k!6|95mX%uVy)z{Iw*%z6)1jv`zV0$x3+xzx|S)sSx9?8FKcLSxvu7m z)dN;c>?iLBK}%s~zEt?o>5LxV+aFYDGMmOves6cizF8y2ni6y1pD~V;&8nOqV8+@@{bw2xwRK zC%NgJi5WAn@7?P7$)^g<{$nR81>Gobp^GOs^4i7vB>yP=|H$7ZP)c35Nf0F*a*TI8 z{`h~b2tdXk4dlY$a0?@!d>X0S^<%!vm{ezl13Dzigv@T`ljGSlSi1Nt`9hN%YD-jx zDs#W~W2-dertxWVxcNhp!uKr&B~N!f=Imf^E7zlRKeuxxMs3U>is&#@Im>|Ngf1Sh zg0hzCPKseo1Yh=FMvANM7f41eIUAl_G_n%hSdX4f_K-?3ZAdA=U2kUnErHK#n_l+? zH)}->(DVjhMaFb#A;NH)RH4(L_4=*jM+4tm%B9K^*>|HO{2Q-hdu-}HP8S=+?iEdQ z=m}aKrb+Sg>>kZ@%3n1TsVb)JP5WTVArL1n79h^@i*>7(9~N9>JO=nGM4@a$SQ|gj zZ4yDB1CjOqO zc<;)pk+&6Q;>S!&y0w)uqG@e);TSmI=b9WTuis2HX&}da7>lCb-xMq|u40$V8j2El z5Jwt+=EeF^IbK2&I-f5g74~lxT+6_6#3;ca09pMY63Yb=G+{Gx?HItSBF}QXafc{a zcG}Yr;En94jHs}(_F+_NQ$$e@*tvb)QJw|(hNYSOqaAtQbzuqxOcL(Sn8YaM-U%R* zsv3i?9|it=Sn9IRtB~{h-+cPSZ~0r~N4YIMqL(ApaQ#Zs`L^$!ixTwj}UnIjr#W@c5>=c2$0pb1o4 z?ARMC8ko5w`DvaRr}BPeVi!8n`cv4i8V^D>D7;%)b-R>~anKx!N6(+oUges7aIKOQ zL0v&hdKMb5{I3v1q*EI0?0=^$L1J?IQ%nD1A`s`Pgr?CXS0I9)LU5RE{GdTYKa%+# z6f+$NhpVLb{vqGU#3kpiC~X?p_9k%bt|H8rPSIx*$32qIx|h;~t*c$gF( zML@e2FL}!Z__Yov`g@hob73;azE#!%KBu!mG8NYeQZCTPL$GULwgZ1HzXN@p7IV$} z^w>r=R9ojZuZSkAj~M}>2s|X>raD%oN=YYNT7IISWm{%~V{7kdCTp0q=s|V5ndvyv zHd$m`*zqr6S}AZGVPTg*;ajR*=k#l;!<=A?Mbb>$hVDE6Q0^+Mcx$%A(t~ zeYKEdKlhhZ5wEqWJQ@^XVF~zQA!bD5h*}t`TejYOP8-7agJhJ*6ej4v^wm_j3AV)G zMKXV)TNXFI{?T2s*RQE`+CQY9Sh3c_g{lse_@GJqVC4Pt{}xN{zx{KF*t30NJBZlC zg@CjF-}fabb7uUnC=-J%So}YWvhDv>Guz@|D+8A!u<1>PLZ$n5hb_otO?6Ep5pGi+ zP2?uc+~(Dy$WjBWh6f$Q&n$9G7wR~!DOzzs;9r?eETVV4ysN}T7uZ#4+I##3Gl~M4$8UA0dRsY9Mcb*m7 zzghlV4k~|efPJJKFC-RRNmz9NaSk#^1m4QB(-Q zU7)WQJ(*SZ0l|&`y>%)^-Aj9#i^#aBIMy(V$cQ{v8m;kh*1&Y@PdRhX-Sh-Rr_b^X z_UH(xXDg@Z^)p$&db*GGsL6n8>I2~mXXKZD%6`hLw)3)ie9-fAjKvAuV{Zb1L6H_S z=(@+dp#_4agWFc8ife(~1GyE(vTJiOe&~j5`3nPF^(hWgQ$No(7@XP5K%Ig#R%akr z$UgUIkftT|l)M?%h!gcp!A+I3_hF3SrLmqK&#DrB-*LOI>`sfn?wR#R9lE{+%9oCj zPn8sGza%U(yec0AkHeFf&*|lBhcVbd4HB!%lCMB!OdK>T0jhH8KueyRyLX=L@yC$5T4>=^ROa&O&U~y>qhn+O!qN(DUy`1AA0W>X_K=05M*k5F z&Y367yYCy9Muia(YF%)0Berw5T<8lC)}Uj#lRUWSAWLR*T*gase2wlF4YF7$EKvTJ}bQfcdi&!P=|}w;z~OxM=|UzZvTVGiCr9=Z~uo z>+-c!xS$XFT*gYZdH?Hky>y2MZ#srznc}szxQv%BM$CMF$)X_d0sGisa*$JeRo2)z zinP;kb=CD&%*%KWPqVJo&ot)oP99qY<~<(upZr43D#&D6qHf)aqKLi`-sUu) z5TGmY?bW!d8FcPu+FIizw&7}Z8C@Z&U;D(Sw;IoC7;Dh;(Gep>G_OQ4875xW(<2mo z`3mu)D;n>Dzr1SU?+%Ee#DSSaHQB9XM=(w-?z%oMEv_4gFGhZGq@IbLLdbK~uj6%b zDQOX3=F~SYtf=h#n6O)HvhWEWzk;@!8=3yOaGU?6fop2XDH{D1^JjmIe>V1PF_~RM z$$`EYb-ue1;q|d$j)S$g+_w$peb46zy%GxxEm_i(P1bZl2gOCrA%Dt+P>VgfYK?_I zppazWc1-$nx@hHf?i!A0LBW@D)YgLKDi~xD-TEX$h^Y(OhssevE?3QPeE>1)EMhZy zaOG2Lh(xYhEwyHA-|R*6-aV1&rG2roqpoLxl<&4!lBPF{O6~vNb<{6T-~LLK9{hJ} zj-7$&%$f#i=I@Q`k9l?LX%%D9N`~q$Kd3GB3O%4OHK@OsS6V?QaA8!F!`p}b`;QG5=Icv27}Gqd@A_zDg1j8 zRld;H3_f)JsS3il)J#?3CaHh?@QY^&G4K3lX1Wi?UcFSq;=oK5k|w*j(&&nNc0Pqm zgGK-C8|RJgFs&UD0v@(~To@-u92_z58@0^0G3w7#maEJO`*|2JL1C(d!sZSS7mC61 zcNUunkCP7P>GV!}(J{GY1C9X5V?`Ys!@(eq!9vvde6=T)a?Xrz1C zMFV0)TE^Zjn1O1~od7ZVx0awF&*pMLyffsd&74q5aD@{QS4mLySd-VO1Pk!{pz69&aV0Gyd8QjvT5B}?}A0`&EE9x zeQ7`I!(+wPsb_~(1(=GPnIgjtiO`9(&7`uIONq+qX(D+!C8cDD8-C0wbE6k%b#<$t zxN_sE^zn*Q#4}{cj;1^CjT9e>weeg-x<4GE`1hRv6kvgMQ8(CYS=hh7b%W|dr(CwM?k(`&>_dlpFVXHlc))U7b0`4^T4*8P3JStM z1@ztT0FQfPRbjg8hEl};H>MX(PB&U)EGy?-D{C0^SH=;SJJ@q!-oKx*-;E0o{8e^c z@5NL77pf{jFfXx$&X3_WaE!1|FzUGM;La==mE(6kFhsMU-ySbzrAwyHQ=-)FnOo)H z%l8&#^|J(0Qv3WA_bOUL;U9wWq)csVYJyD>waAue~rb(YL`$ZP)pW~)c{3^YW zx@r5qzJZwrhV74bBLb>?_JM1^%ty&Y+UI%Y&a0VS@S=*32g|NEkLZ3FwNCLb=g!Dq z1u?0T%156jUC552;69!0*>vea;rxfpfZnfJuUIM%R@|%aj9j~&8np-4UsyD{)2s`> z`Bd7te=C#7I_4khaCSmO{GD?D%`5k2VJ6?~=P$`y?%Ai+>&yYg9@F z^;MH$HPPs652@yUH=?LDaH$ z2l8FYiV!`oRf`M&M12;w!IXO+7G=a&{cbT{o&Tonn{MMdP+j`im&3AOHGs1W!X?AA z^zBJp(pmtCG*66hWpKEQ-x=?4ZCR4v3^Oj7_Q^%tE-B!`#KEZh$!^9TX8SQ7Q;D3F z9Q@96Q+eTbRa_>fndz=avz1Ufw(<6;CSt~z6QCS`I4)V2;q5my8PpHx`VaSM3G`ds zPS$=%$xIT+OT}bnoD8PrHNT$R5uM~0BjNE!VBvlarm_gPi=YO#AB?V{iRyRq?Hsiu zX*t>@!ht>3sW5U7l3B)c?Bt$ouUfJy4_r@OX(uBbLCm=b{DndZBmCR@9V)>nw*`;Z zY{v(pI?M-OFJHeNhA`e(HgHsSCKLn=V5!Z@nBuC49Wh-!ezx3V=6?vz@Bm zsrkiP#fzLqR#4KQ0fLgmx9qarylN`)NOl-yS<}xORb-chYdmAm$k15VsT>4W`)g!J z!yK!kFIVW-^#BRW5hr)OJq7?qh)iB)TbUiaZj7L8Io2!d`wS%*fGcwp-+tQ>q=;y; zw;9v?T%B55#~;f#|7NV>nA~jhH~ z9JUDYYDDKZI>b%XhUsD6a_JIAqn9Jq7ul3r)3US4T+jj6Cf7eHF6-4(mrmfpK&J$+!@O8xNB1$8-gKJK6N1G9k<3W~bkY zx3!OUjQIiXz0Q4NQ*XBHfDord*2ZH~BmoSC8En1?nXU>s^92i?afs3k8N{&aDspzP zho83nS_mM|`<}BKHrZ(R6-=Dqm#>QKCV7EAM3!?Wr{RabmT~cq@#NKWYWH;U3Ew$_ zJ(CU~(achb*XPzHLFt(kC#PLHRyS@at}UFOkP!BKAg>m(&mrYJGo*%KB-e80te`U~ z2nnVcinnOiM?bZfl)q&)EBc+-?Obd#c1ZZ3Tpg{-A;14zJ%tQJ$u~CU($8!|`>i9- zJR$^+2nC1N8jmL0NmE1-wWg;~*4pNu$2L*1i1|N>e@IBN;Sl<8IvL%SiJ)y|2}!W_ zI+(vxx|4O2kTV;04TNeweGgI(SN!lWxe;1K}$66M8c|_|Df%^(5hrUo@1rBGJvbl&2oko+e-?*Rq2LIhs&)9 zJU7}}pIzJ@Q$uKa*Q986U2rUBh86M1vzKJq2?PNs{0{@`@DjfeJ$E25O}JPMd$=_I zOu_5H&{BD%j*NV=yH$K-xe-^|{ZDD&w$LEi4j2`jPm=jB^(S?Dhr9I;*=wRd>Fibx zrh$m5(8B%uhcgpcW$X3rc>%ZG?WA8@XO|v~Wq1$`7U$K@Ub6UydBg3D?B|^TJc;n8 z2PxOWbbWg6DS%?X8b)U}TxOA-jYA?|W*YhijuHV1mUem7MDRl|k1vp`_?OmRCctJx zX7p`>2XUmh#|%<~UtgXj7T<+Cc6HbPA5y`YVRHLT3`E z5<)T?(UbuYg%mS($Q_-~;DGorgu%wL8Y4P^>M+jAPk#(IC5yxs~Te# zxA{S2ZL*nOpb>DTF}3KmjN&yEAY5FFN7mVj)?v7+>Y>Z~HIi$^<+=z*fex+R9D2l+ zwUhb~ku^`e#5u*ea5RZ_Z<5zUpi}x7NN~;QhX+mtech?5OK*CwXhXTj1)sD0ahs*A zp&dEwO9tvLPf2u9CsJ#BzuTPoL0%8J9&fHw2t;kR_V0e+)$v*I;=^`1?QTUe3U8lS z#6+3^^hm7y_N!X90le_5wqJO~$bIEK<2=Px0j%v1!yJw$a-uZo+_)zSRrH4(B%+$h zx3VYBCpSdLHVOIbwcAV-5oaFD?Q#F6oU2AuLhsmK>F6~mYE>%S>Fm*H_wyP z5a*8}0~=1_y$>O00>lcSrG1wb@lj`MInLCWS63S8Q^l1LY=d=iOUGsiG3Q3G2cxps zU8}~ss&tHv2lQlyEN}rm(1_{3y!x7JHqh= zTQad}5-X#j9o!h3E*sQ1equF(#C?PItlub4JT2hagX_2x0yOwDepg${xR)o;k9zI7 z=B}&A76I|FFzSXq--tDuIMze`g&HYE^1_x#y( zzEza@Vi-kEyAIsmx?1>*2jnSIA5*gnPUS=(+5|cf#VAx4IU$i+DEpuXS>JhC%`lC^ z-Gh!DY#J}M_|(O4krhz1QIAYjH-K?y+^Jbzncz#0L@;$l$R6tW>XX8z!4$MHD4fD%rp(~1~f&0w>yJ4u-oub&-eAB zf9XRTN5YenKF|hd^U2uwMB1pAF9QHax|>*{0dShJ#xe?IEdUoe!y6mrfE;3eB-ug- zM_dP}^ooo1i@yL3_Rwmi-_p2!_z~+LhEj2>SU?NG(4?J$mV~GY-(c5=kAQzf4wc|| zlfPh!wdTZMid(jaxGa=kWBEnLO(!izO=~>YNKBVce)O{haFZbV>4ryk2OYj#Y^oOYn`oDc*h7I2Gikza)P zk(ayqbzkBEXz#fZM}njoOe?4wa5{pOP0}|=s^V?TVJ|9N5ceChS6RzJe@*ix!ZD~) zG>P|29Xy;$=&9Nt{V0MjNBAT-efhHEC_y7u6){~bImd0oUG7=J)M-$6YG*@PQ?*^s zmu^nt%;wc^yLfe$2A7c`sNk)Vw$n1kOuVIPDcIg=*Ci}Qg&Xq)vAa$=dBFX>cnqiM zf&(-x#NpR;DndVdMi+4@&#rRR1<2296Djr1n|%J=oNBt1KMymu4ITD2q~Wf%A0x{XhDPUAxebnqBf?T+QxjC z@t=e%XJuUCZa|JBwbh@w1Z)oc20tlH?VJ$JzJC2s7%;d$KeO9_tNr;btkZZy{_lsP zA+`VS7lsi4rN%#UN16^Xl3CYlvS21r1S(F?52yJ^om?*}~q+!P?z z#TV~BaE|0N(4eo1eabE>0t%LjUb>`CyNKyT%f5e!Lo2zl8_ptYb`d;l#Z-OCW9I-n zy${df5jJLC4ER+TWob3w2BK9X!P3VO(_(47;()cmscjdO_gX@n;~A&#t|IM}^P z=&hAorz?q9_TvrA8@z8B<_-AF?bS>G?f!7VPWD)9yM+5q7SaIMf>tbR-K+YX>)Hvi z(6eD7fPJ|SE5V9Jd0NQSTn;qdvP%Eg0Yi2bF_)NJVszyu4UqxW?GFcG(F7A02!P65(lzcj-hoA&Nm zmTm}>nR0!*zT#tdPpH!+Is07ziX+-)MWZdi5TVfAiJ-a(1uv&|M zjmPRTT5Hc1QUV7ZiB9V!Zm;eGY6-!3Km|yft}Ix!-#m09F#=m?5WP!nuG$mJ5yQhG z!MeLhJvcYx__4|r?zS$*Fas(AjC?29tIkd?z{E#(Df6RGSFwB_I`2b|)ST;&n>dXM znm(RS2^FnQ8Imu|T_2T2Oh3jmuY36VxtFjY`=z;8g8vk0tF`^JX!ioQiF=ZJN+5*U zZSEVLcn z41Bn`0D&ZUlsd_z4(2pC8aZcad?$A0yKO!C-gZT)9#!0_hC&<$D|;b02Xt3 zW54L=K0ZuX*e7LiO?LX4N$eID z%J&RkKK876Eed7<29r=4@QzZr2y9(TLprK?7+lz=6yjp_)*$9M?bB572%Otp zl-K4WOe4u;Pp94l7F|@5#4yYseX=F??561+H7wxW2*^#0=X}KRGGmm?4IzPrLQi|5 znxbMZUftNQ@5!X$1_b7dYSzZ@;#=9fh{&GyG`l#qO9RTHyo!altxgArP5EeXy$NC{ zh;E9o>p#YJPdg>RYmRBaN?Ps`W6*g8FUR_%&wUfLgk!a-$rPYSD-xq_>WO1e+h@B- z#?nHMtK+to!Z@PfPw)ict&VWrExhq`S>!-U>PHk**SMr&MaeXxV%CQKEv}a>UD6{CO#h2vMsi}juY3L zxs=C~)Gaukia*z56l4CijS;SZ<5|D-_^R5Zp)@aGRpRj-wDANGVWMyr_ z#gAD=;04?TZ%tO#_|^m`ijny~=y_Uli>1#*qOO_r_>>g(|=etVvk5o|_+D5J24nkURfepnwx2+K!Z;a(k zC!jG&OKxEGnRw5MjJ;Itz-VD$p7m9A>=kfI5hJQH!OjBFOxcAcj-gxvKT96-+F6ZW z29Qw#Wd9TSlyTASIr4*Yy@85PBQwE%fwP+}sMeRND(p9Ao@!LqxL(5h0@Aug<3xPs zg6R94m5#w;4-#Nk`0qJ=(pS98d1|rswlt+F><`fBPtRPjbKJ9r7RHiGrF~sCAhwJ* zbz9!$os1QdYtzWQPZRn&u6%s9QYN_H z9}4VhYHv4w1|Pp%yeOa5as@JKaA5E`D>W^v%->5(5JuVrKu-ik7+U4pCPJ5Z#oZ)W zLHy~T$PfY|!@JrEl`-X#82TSi&TJcY8_Zm+T! zWMTqy*1s8DxB0?NNGZu2)>Yt(ESYI-x-j`dH(4K07RdDIOR*LQ8fxklf(C03*Qt{R zH~=w_}wlS&zX_g%z=G!yd}5}D^}k}SE4NSp~=IX z?7iL^u0yulhPz1-QNG`Eu4;P}J4>aXa61XQt4=^|UQ9Ta)RatVeIFzu*iW+V zkn~L3bX4|3KV62@vBfmN&8~-$&3sUYCIxVT{||-~Nh|)XK+T5;66Y>QG%shpkwMe)SSq*_@@GMo1I`m#HR9$sV9UF!Y0dp@ zrIR0IL}BCpqP&ikZ6LB2s(c!4OWHde}?|qz?rJ-Tz zh&|lp0+a))j1azeJ%Wke=(hn8a54?EM~u$%yVf`|bn|jBq$C)vm6yJ@dv!5?Dh+<` zdDYHd@q>yf0J^L^%0x^N=<4E3@o^$suhyt_H4rJzl31$!9q^gOi;$7fKy@6xz z13FoHvMmW74qjhbBl-g93L_2nJ`rZ+@;qh@J4Ncgs{iF0~;>D%pR`sNMiC| zruk>y5*n+PT+1=uMpn=S}7Nz@m3Ry95ezZv4^X80%(kXqzMCE=|-i@`@GqLuaN%i zTs3|(b6w4zw@uZcz-Z{j4fLiK6TS(Mkc|JzVjF%6<)zG7-`ASgSjxz9Md~r*>zLwQ zppDofr^3HVL+NBou>E8Y#?pUY2YtMIOw(R1pAd5oh{Y6zPq+Ag3M@uIjVU5Cvz(y$ zAN~@y1NcjqxxIM0SMEfkPX8Ii%>NvuL0&+cr#_B`aeY5M@`b@DICKjfUbW|rrTRd^LUR01bVcN7jsuzv9Mb;0fjBMbIh>BZ3aO5FKXGK z@ zJUw9M0!o?YrSW}i6=F3{BOG-88cJ^uHq(tTfy{5=y-IKDB)9-QQc4mC!A()01Q0xx z{%uqz#Hs(p=-+R}zky8)=q`PreIZFj)9^}Z8XzGuHg?5LUY;lZvQ5RW$I z&yOMRIW|IcDAfbdoPqrI{eeuw-OK17f>@KBAJ(aiD$*1#HQ=?n zbcrYi85PshvQSVPD6AXf8A+ybJ3|Eeq;lw3 z(wLVln7vlwi4}h#R%`GlKk2IXKy?8Sew)YkvVM;eh=Z~lD9#m@6Po# z_ViEy$mN;W(j^d>B>*-6MFWpOVOQ=ylpCKE;^CwP8SL6b#n_G zi3K8ff$o!i%)Dr1VZBJ@hLy+sR+ghMzTxhB5&xdW;I)7m;lH&u5z}=bubsx?BukUwGj_#Dmne@CmXfDv&oTeF=nre#iR~FTp z*&wi9ATzYoO*R4IbTBoa1gi;BgH7~kS??BU4AB1+_ytu$a{y#xdsxo>+xb@rm5tqT z&Z|y2`6=7GRZrfoZ%1e#UY^T)}Y02+S0h)=Hffh3CNBd?Az?~Hv-^*#Tl3<@`>N)J?i zq8$U*=n?z6z-jUoUsPkv+ZSZ=cm&Epm^6>b#2&R;QEQZsfjYV+d-4ib5+`XysoBd9 z16g*p7~%RPfsuhnEKEm|1mq? zUV|$1+oD%(j8Gykbpw0fw{tEqE8H@5=dL{;XdR%QI?u~=LQBjvT29xjwA*GEUVgQW z`$K%;wKkn1A1WjL!Z+QwDAIs6q2Xa33<6*;jT|Y+d7-s2Kz6bP#~IZ?9L?;Is&zlF06LD;@X1p)K{in*6SBLBNo{Q4<&8izw0ycfEAP z$`Swp3DCnWRUZ%F!@PM~*EjP5F`651S92rJSNr_5=#1W0u@Bx6()bf%W zYk50}xk8nC{Lp2khQN{ePT3;DVw0{JMI!W2FBVFlBao}IWC}|0axgzug1{cSM&=Nb z8Sn(G*FFZQ9<3ry*b_TUh#i-@%V}jE1pfn8TF&t)4g+jre%*F}fgf3EB`KtY!TbLJ DB_EV^ literal 0 HcmV?d00001 diff --git a/ExDataManagement/DataStreams/Cryptography.md b/ExDataManagement/DataStreams/Cryptography.md index 7463b786..312b3e06 100644 --- a/ExDataManagement/DataStreams/Cryptography.md +++ b/ExDataManagement/DataStreams/Cryptography.md @@ -51,58 +51,60 @@ In the next line: return (BitConverter.ToString(hashValue), Convert.ToBase64String(hashValue, Base64FormattingOptions.InsertLineBreaks)); ``` -a bitstream generated by the hash function is converted into two text forms. The `BitConverter.ToString` converts the numeric value of each element of a specified array of bytes to its equivalent hexadecimal string representation. The second form is a string with a notation consistent with the hexadecimal code compliant with the Base64 standard. +a bitstream generated by the hash function is converted into two text forms. The `BitConverter.ToString` converts the numeric value of each element of a specified array of bytes to its equivalent hexadecimal representation. The second form is a string with a notation consistent with the hexadecimal code compliant with the Base64 standard. - 👉🏻 It's different in the case of using Base64. This conversion method is available in the language library and has many overloads, but they all implement the RFC 2045 standard. And here another yellow flag should be raised because it is not the only standard that defines Base64 notation or Base64 conversions. Moreover, based on the RFC standards database, it is easy to conclude that several RFC documents previously defined this conversion. So we can expect that this standard has been modified over time. Therefore, the question is about the length and lifetime of the calculated hash function if it is saved as text following Base64. It may turn out that the input string has not changed, but in the meantime, the implementation of Base64 conversion has changed and therefore using this string for validation is useless. In unit tests, we have two assertions, which compare the result returned by this method with precisely defined strings of hard-coded characters. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal or Base64 changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a string of bytes to a string of characters does not always have to be the same and may change over time. So why use it; someone may ask; In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the mail system has strictly defined characters that it can use and we can take into account the fact that attaching such a raw bitstream could have invalid characters that cause problems with the correct operation of the mail system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. +Base64 is a binary-to-text conversion. The output of this conversion represents binary data in an ASCII string format. It is commonly used in scenarios where binary data needs to be stored or transferred as text. This conversion method `Base64` is available in the language library and has many overloads. They all implement the RFC 2045 standard. And here another yellow flag should be raised because it is not the only standard that defines the Base64 conversion. Moreover, based on the RFC database, it is easy to conclude that several RFC documents previously defined this conversion. So we can expect that this standard has been modified over time. Therefore, the question is about the lifetime length of the calculated hash value if it is saved as text compliant with the Base64 standard. It may turn out that the input string has not changed, but in the meantime, the implementation of the `Base64` conversion has changed and therefore using this string for validation is useless. + +In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a stream of bytes to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask; In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. ## Encryption ### Introduction -This is the next part in which we will discuss issues related to the cryptographic security of bitstreams. - -### Problem we Have +In this subsection of the cryptographic security of bitstreams, the encryption concept is addressed. Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the hash value to the destination in such a way that malicious users cannot modify it. Otherwise, modifying the source stream is not a problem because calculating a new hash function value that takes this modification into account is quite a trivial operation. -Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the result of the hash function to the destination in such a way that third parties cannot modify it. Otherwise, modifying the source stream is not a problem, and as we saw in the examples in the previous lesson, calculating a new hash function value that takes this change into account is quite a trivial operation. +Hence, selective access is required to protect the hash value against unauthorized access. So let's deal with selective access. Selective access is the ability to modify data that is associated with a bitstream only by people who are authorized to do so, and who have the right to obtain such data. We can accomplish this in two ways. -### Goals +The first way is to share the stream, for example, a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file), he will necessarily not have access to the information that is associated with this file, or rather with this stream. This topic generally deals with operating systems, so it is outside the scope of our interest. So we have to deal with another security method. -So let's deal with selective access. Selective access is the ability to read information that is associated with a bitstream only by people who are authorized to do so, and who have the right to obtain such information. We can accomplish this in two ways. +The next option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with the stream. This method we call encryption. In other words, encryption involves transforming bitstreams to make the underlying information unreadable. -The first way is to share the stream, for example, a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file), he will necessarily not have access to the information that is associated with this file, or rather with this stream. +### Encryption fundamentals -This topic generally deals with operating systems, so it is outside the scope of our interest. So we have to deal with another security method, one that will allow us to transform the bitstream into a form that no authorized user is unable to associate with the stream any information. This method we call encryption. +Encryption is a reversible bitstream transformation function into another bitstream. After transformation, the encoding, syntax, and semantics rules no longer apply. So, as a consequence, no information can be associated with the obtained this way document. The diagram below shows how it works. -### Encryption fundamentals +![fig. encryption](.Media/encryption.png) -This transformation operation, which I mentioned earlier, is called encryption. It is a reversible function of transforming a bit stream into another bit stream, and after the transformation, the encoding, syntactic, and semantic rules no longer apply. So, as a consequence, no information can be associated with the document. The result of this operation will depend on the K1 key. The K1 key is also a bit stream. The disadvantage of this solution is that the resulting stream is always the same. This is easily corrected if we add a few randomly generated bytes to the input stream; the so-called nonce; the result will be different each time, so we also protect ourselves against the possibility of repetition, i.e. using the same fragment, the same sequence of shoes, even without understanding it. To perform the reverse operation, i.e. restore the source bit string that was originally encrypted, a decryption operation must be performed. For this we will need the second key marked K2 in the drawing. +The result of this encryption function (Fe) depends on the K1 key. The K1 key is also a bitstream. The disadvantage of this solution is that the resulting stream is always the same because the Fe is a function. This is easily fixed after adding a few randomly generated bytes to the input stream; the so-called nonce. Thanks to this, the result will be different each time. This approach protects against the possibility of repetition, i.e. using the same bitstream even without understanding its meaning. To perform the reverse operation, i.e. restore the source bitstream that was originally encrypted, a decryption operation must be performed. For this we will need the second key marked K2 in the drawing above. If nonce has been added it has to be removed before the bitstream reusing. It is feasible if the source and destination of a bitstream use the same concatenation method. ### EncryptDecryptDataTest -It is proposed to analyze the encryption and decryption process using the `EncryptDecryptDataTest` test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will place the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions +It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions ```csharp-interactive TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); ``` -is to create an object that generates a key. The key really consists of two independent parts and can have different lengths depending on your needs. For default parameters, the length is 192 bits. The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. +is to create an object that generates a key. The key consists of two independent parts and can have different lengths depending on your needs. For default parameters, the length is 192 bits. -But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted file. Although this example does not show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. +The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted file. Although this example does not show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. -So let's see how the encryption process works. Let me remind you that we are encrypting an XML file that we already know from the previous examples and it is a directory containing CDs. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. It also has to pass an object that allows the calling method to keep track of the process as the process happens in stages. +So let's see how the encryption process works. Let me remind you that we are encrypting an XML file that we already know from the previous examples and it is a directory containing CD descriptions. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. First, we open the file for the input stream, which contains the source data that will be encrypted. The data will be encrypted step by step and will be placed in a buffer that has a predetermined length. In this case, it is assumed to be 100 bytes. Encryption requires the creation of a stream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the user about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. So, to read it, we create an object of the `FileStream` type because when encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstream. The encryption process ends when we read zero bytes into the buffer. Then in the test method, after encrypting the source file, we check that the output file exists. There is an assertion that checks that this file exists and finally, we check if the number of bytes in the source file is equal to the number reported and written in the output file. -And now we move on to the phase where we will decrypt this file; the one we created. The entire procedure is carried out in the `DecryptData` method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a completely different in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process will be carried out need the same key and the initial vector used while the stream is encrypted. +And now we move on to the phase where we will decrypt this file; the one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a completely different in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process will be carried out need the same key and the initial vector used while the stream is encrypted. -So let's take a look at how the decryption procedure is implemented in the `DecryptData` method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using the buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read the content, so it will generally operate by decrypting the content of the specified file. In the `DecryptData` we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing encrypted content. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the `EncryptDecryptDataTest` test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file, the source file. +So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using the buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read the content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing encrypted content. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file, the source file. -## Conclusion +### Conclusion -To sum up, in the examples discussed, we learned another method of securing bitstreams. Consisting in encrypting them. We have two types of encryption. Encryption using symmetric keys, where the encryption side and the decryption side, i.e. recovering the original bitstream, use the same keys. from the moment of encryption up to decryption, the bitstream is highly likely to be secure because no information can be associated with it. So it cannot be used to recover the information it originally represented. In the next part, we will move on to asymmetric encryption. Precisely, not the encryption itself, because asymmetric encryption itself is not very efficient and is only used in selected circumstances. We will analyze examples illustrating scenarios in which encryption can and should be used. +In the examples discussed in this section, the encryption method of bitstreams is the subject of examination. We have two types of encryption. Encryption using symmetric keys, where the encryption side and the decryption side, i.e. recovering the original bitstream, use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secure because no information can be associated with it. So, it cannot be used to recover the information it originally represents. In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected procedures. We will analyze examples illustrating scenarios in which encryption can and should be used. +[EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 +[DecryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 [CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 [CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 [EncryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 @@ -173,7 +175,9 @@ Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] - [Generic implementation of the Blockchain agent in .NET][NBlockchain] +- [dependency injection][DI] +[DI]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) From c38133777e7b4eb81ffcd857c5d5aff8bb103b09 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 16 Dec 2023 12:55:20 +0100 Subject: [PATCH 10/67] ExDM Add documentation to the selected parts of the code #369 - working on cryptography --- ExDataManagement/DataStreams/Cryptography.md | 38 ++++++++++---------- 1 file changed, 20 insertions(+), 18 deletions(-) diff --git a/ExDataManagement/DataStreams/Cryptography.md b/ExDataManagement/DataStreams/Cryptography.md index 312b3e06..0de0a364 100644 --- a/ExDataManagement/DataStreams/Cryptography.md +++ b/ExDataManagement/DataStreams/Cryptography.md @@ -1,13 +1,13 @@ @@ -55,7 +55,7 @@ a bitstream generated by the hash function is converted into two text forms. The Base64 is a binary-to-text conversion. The output of this conversion represents binary data in an ASCII string format. It is commonly used in scenarios where binary data needs to be stored or transferred as text. This conversion method `Base64` is available in the language library and has many overloads. They all implement the RFC 2045 standard. And here another yellow flag should be raised because it is not the only standard that defines the Base64 conversion. Moreover, based on the RFC database, it is easy to conclude that several RFC documents previously defined this conversion. So we can expect that this standard has been modified over time. Therefore, the question is about the lifetime length of the calculated hash value if it is saved as text compliant with the Base64 standard. It may turn out that the input string has not changed, but in the meantime, the implementation of the `Base64` conversion has changed and therefore using this string for validation is useless. -In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a stream of bytes to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask; In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. +In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a stream of bytes to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask; In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. ## Encryption @@ -65,13 +65,13 @@ In this subsection of the cryptographic security of bitstreams, the encryption c Hence, selective access is required to protect the hash value against unauthorized access. So let's deal with selective access. Selective access is the ability to modify data that is associated with a bitstream only by people who are authorized to do so, and who have the right to obtain such data. We can accomplish this in two ways. -The first way is to share the stream, for example, a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file), he will necessarily not have access to the information that is associated with this file, or rather with this stream. This topic generally deals with operating systems, so it is outside the scope of our interest. So we have to deal with another security method. +The first way is to share the stream, for example, a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file), he will necessarily not have access to the information that is associated with this file, or rather with this stream. This topic generally deals with operating systems, so it is outside the scope of our interest. So we have to deal with another security method. The next option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with the stream. This method we call encryption. In other words, encryption involves transforming bitstreams to make the underlying information unreadable. ### Encryption fundamentals -Encryption is a reversible bitstream transformation function into another bitstream. After transformation, the encoding, syntax, and semantics rules no longer apply. So, as a consequence, no information can be associated with the obtained this way document. The diagram below shows how it works. +Encryption is a reversible bitstream transformation function into another bitstream. After transformation, the encoding, syntax, and semantics rules no longer apply. So, as a consequence, no information can be associated with the obtained this way document. The diagram below shows how it works. ![fig. encryption](.Media/encryption.png) @@ -82,7 +82,7 @@ The result of this encryption function (Fe) depends on the K1 key. The K1 key is It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions ```csharp-interactive - TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); + TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); ``` is to create an object that generates a key. The key consists of two independent parts and can have different lengths depending on your needs. For default parameters, the length is 192 bits. @@ -113,15 +113,15 @@ In the examples discussed in this section, the encryption method of bitstreams i ### Preface -Since streaming data is commonly used to represent information, because we use file systems, and because we send data over computer networks, data security must inherently be the subject of our special concern. Therefore, I propose to continue discussions on cryptographic security of streams. +Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. Therefore, in this subsection, I propose to continue discussions on cryptographic security in this respect. -We have already learned about the hash function but still, there is a problem with how to distribute its result so that in different places of the IT system, in different places of the computer network, and in different locations in the world this hash can be used for to check the integrity of the bitstream - checking whether the stream and the hash have not been modified by a malicious user in the meantime. We also learned about symmetric encryption, in which we use the same keys in the encryption and decryption processes. And again we have the problem of how to distribute these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to use for encryption and decryption increases rapidly, that is, it increases precisely with the square of the number of participants who participate in sharing data. Or maybe asymmetric encryption will help here? +We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. Bitstream integrity refers to the assurance that the bitstream remains unchanged and intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. The previous subsection addressed also symmetric encryption, in which we use the same keys in the encryption and decryption processes. And again we have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. -First of all, I propose to deal with the confirmation of authorship. I associated this issue together with the topic of ensuring bitstream integrity. Why? Well, we'll address this question shortly. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. +Let's check how asymmetric encryption could help in this subsection. First of all, I propose to deal with the confirmation of authorship. I have associated this issue with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. -### XML Document Syntax Violation +### XML Document Syntax -But before we move on to discussing how it works, I wanted to draw attention to a few important issues related to the XML documents. For example, consider the [catalog.example.xml][catalog] document that we already used in previous examples. Let's try to add a text to this document, for example, previously calculated hash function result expressed as hexadecimal text. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text document and is not suitable for further processing when we expect the document to follow XML syntax rules. +But before we move on to discussing how it works, I wanted to draw attention to a few important issues related to the XML documents. For example, consider the [catalog.example.xml][catalog] document that we already used in previous examples. Let's try to add a text to this document, for example, previously calculated hash function result expressed as hexadecimal text. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text document and is not suitable for further processing when we expect the document to follow XML syntax rules. What can we do? We can move this text to an element, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document complies with a certain schema, then this document will be rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. They will be very important to us. @@ -135,15 +135,15 @@ The following diagram shows how we can achieve these goals In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is assumed to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, send the whole result to another place, archive it, and in any case make it available to other users of this bitstream. -To check its integrity and authorship, we can first recalculate the hash for the part that constitutes the source bitstream. This hash should be the same. To determine this, it can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the received hash with the hash that is calculated after receiving the bitstream. If these two hashes are the same, it means that, firstly, the input bitstream has not been affected because the hash is still the same. Secondly, since we used a public key that is paired with a private key, we can conclude that a specific person created this stream. For any other person, this decryption operation will not produce an identical hash. +To check its integrity and authorship, we can first recalculate the hash for the part that constitutes the source bitstream. This hash should be the same. To determine the initial hash value, it can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the received initial hash value with the hash value that is calculated after receiving the bitstream. If these two hashes are the same, it means that the input bitstream has not been affected because the hash value is still the same. Since we used a public key that is paired with a private key, we can also conclude that a specific person created this stream. For any other person, this decryption operation will not produce an identical hash. -And now the last thing is how to ensure nonrepudiation. How to ensure that the person who originally signed this stream will not say after some time that it is not them, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity that has the private key, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. +And now the last thing is how to ensure nonrepudiation. How to ensure that the person who originally signed this stream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity that has the private key, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. ### CreateRSACryptoServiceKeysTest -Let's move on to discussing how to implement this scenario using program code. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and indicates some methods on how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this subject, therefore let me encourage you to check out other literature at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some impact on this process performance and how quickly we can complete this process. Depending on the equipment we have, this number should not be outsized here. +Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and indicates some methods on how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this subject, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. -Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the program. It is not intended to be used for key distribution. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distribution over the network because XML is always a bitstream. In the end, all three forms of keys are returned as a result of this method. +Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the program. It is not intended to be used for key distribution outside of the program hosting realm. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distribution over the network. Anyway, in the investigated sample, all three forms of keys are returned as a result of this method. Let's go back to the [CreateRSACryptoServiceKeysTest][CreateRSACryptoServiceKeysTest] test method, where we check that the first variable is not `null`, so an object of the `RSAParameters` class is returned. We further check that the content of the XML documents - they are simply a text - that contains only the public key [PubliKey.xml][PubliKey] and the one that contains the public key and private key, are not the same. From the point of view of testing, these operations are not important, but they show how the `CreateRSACryptoServiceKeys` method works. The XML document that contains both the public and the private keys is located in the file [PubliPrivateKeys.xml][PubliPrivateKeys]. Of course, in the case of a private key, identity information is not important because, by design, a private key is only used by the owner. @@ -157,7 +157,9 @@ The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] t So let's go back to the [XmlSignatureTest][XmlSignatureTest] test method. We assume that we have already signed the document saved in the file and now we can move on to discussing the methods that check the correctness of this document. There are two overloads of the [LoadVerifyXml][LoadVerifyXml] methods. Calling the first overload, we do not transfer the keys. It is worth emphasizing that the document is loaded and checked using the public key stored in this document. With this solution, we do not have to bother with providing the public key. Of course, with this type of checking, we cannot confirm the author's identity because anyone can enter such a public key. The only thing we can do is check whether the document is consistent from the point of view of this key. The second overload of this method uses the already transferred keys and initializes the `RSACryptoServiceProvider` object, which is used to check the document authorship. -Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To explain we must go back to the code for a while. To fix it this element `Signature` element has to be removed just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. +Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To explain we must go back to the code for a while. To fix it this element `Signature` element has to be removed just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. + +A `Signature` element complies with the XML Digital Signature standard, namely XML Signature Syntax and Processing Version 1.1 issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. [SignSaveXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 [XmlSignatureTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 From 35da1d5fe7935f0541f2e2f185e93ad76392c4b4 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 17 Dec 2023 16:15:08 +0100 Subject: [PATCH 11/67] ExDM Add documentation to the selected parts of the code #369 - Added cryptography to the book content --- SUMMARY.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 768199e0..b55f862a 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -31,9 +31,10 @@ * [Fundamentals](ExDataManagement/READMEFundamentals.md) * [Prerequisites](ExDataManagement/READMEPrerequisites.md) * [Data Streams Preface](ExDataManagement/DataStreams/README.md) - * [Implementation Examples](ExDataManagement/DataStreams/DataStreams) - * [Usage](ExDataManagement\DataStreams\DataStreams.UnitTest\README.md) -* [Functional Programming Preface](ExDataManagement\FunctionalProgramming\README.md) + * [Cryptography](ExDataManagement/DataStreams/Cryptography.md) + * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md) + * [Usage](ExDataManagement/DataStreams/DataStreams.UnitTest/README.md) +* [Functional Programming Preface](ExDataManagement/FunctionalProgramming/README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) * [Structural Data Preface](ExDataManagement/StructuralData/README.md) From 2cde8573d7c215d10fec8ed430f0599577f9b0b2 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 23 Dec 2023 12:23:44 +0100 Subject: [PATCH 12/67] ExDM Add documentation to the selected parts of the code #369 - Reviewed README.md - Changed name of READMECryptography.md --- ExDataManagement/DataStreams/README.md | 211 ++++++++++-------- ...{Cryptography.md => READMECryptography.md} | 0 SUMMARY.md | 2 +- 3 files changed, 125 insertions(+), 88 deletions(-) rename ExDataManagement/DataStreams/{Cryptography.md => READMECryptography.md} (100%) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 28f79443..09d5f554 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -13,51 +13,75 @@ # Data Streams Preface +- [Data Streams Preface](#data-streams-preface) + - [Key words](#key-words) + - [Introduction](#introduction) + - [File concept](#file-concept) + - [Serialization](#serialization) + - [Fundamentals](#fundamentals) + - [Useful Technologies](#useful-technologies) + - [Validation](#validation) + - [Visualization](#visualization) + - [Reflection](#reflection) + - [Attributes](#attributes) + - [Main Technology Features](#main-technology-features) + - [Access to Object State Values](#access-to-object-state-values) + - [Self Controlled Access](#self-controlled-access) + - [Reflection](#reflection-1) + - [BitStream Format](#bitstream-format) + - [XML Format](#xml-format) + - [Introduction](#introduction-1) + - [Catalog XML](#catalog-xml) + - [Graph of Objects Serialization](#graph-of-objects-serialization) + - [Reflection-Based Serialization Example](#reflection-based-serialization-example) + - [SerializationUnitTest](#serializationunittest) + - [See Also](#see-also) + ## Key words Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, XML Serialization, Data Validation, Data Visualization ## Introduction -This folder directly or indirectly is related to the topic of representing information as a stream of bits and is devoted to discussing selected programming issues related to their programmatic management. +This folder `ExDataManagement\DataStreams` directly or indirectly contains examples related to the topics of representing information as a bitstream and is devoted to discussing selected programming issues related to their management. -If we write a program to automate a selected process of information processing, we inevitably have to operate on data that represent this process. Generally, we can distinguish operations related to read input data, permanently remember intermediate data, transfer data between individual applications, and save the final data somewhere after the completion of the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using solutions such as a file server, distributed file system, Google Drive, One Drive, and finally a Pendrive. +If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and finally a Pendrive. ## File concept This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. The second one indicates the location where the file can be found by the file system engine. We also have other metadata such as date of creation, length, location on the medium, and others. -An important feature of a file is that it contains content in addition to metadata. Metadata is, of course, very important, but the most important thing is the content it includes, which is data representing information subject to processing. +An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to to take part in processing. -Everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. +Hopefully, everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. -## Serialization +Let's start with the fact that typically we utilize object-oriented programming. This means that at runtime we must deal with objects that are located in the working memory (RAM) of a computer. Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Therefore, object data can be organized into structures and linked by references. -### Fundamentals +On the other hand, as we mentioned already, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element. -Let's start with the fact that typically we utilize object-oriented programming. This means that at runtime we must deal with objects that are located in the working memory (RAM) of a computer. Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Therefore, object data can be organized into structures and linked by references. +## Serialization -On the other hand, as we mentioned already, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element. +### Fundamentals And here the first problem arises, namely the question of how to combine these two worlds. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. Again, to save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. -So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no measure of simplicity in this case. However it is obvious that cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using also the library concept. +So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no measure of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to define one more problem. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. -Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my opinion is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to design or build a custom washing machine, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case. +Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my opinion is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to design or build a custom washing machine, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. -So let's summarize this discussion. To simultaneously use object-oriented programming and save data as a bitstream, our programming goal must be to combine two worlds. First, in which the data is in object form. The second world is data in the form of bitstreams. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of an objects graph into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. +So let's summarize this discussion. To simultaneously use object-oriented programming and save data as a bitstream, our programming goal must be to combine two worlds. First, in which the data is in object form. The second world is data in the form of bitstreams. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. -> To learn more about the serialization visit the MSDN: [Serialization in .NET][STLZTN]. +> To learn more about the serialization visit the document: [Serialization in .NET][STLZTN]. ### Useful Technologies #### Validation -Applications save working data into the files to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. **correctness** of the stored data has to be validated every time an application reads it back from the file. It must be carefully observed if the files are also modified by other applications or directly by users, because data corruption may occur. +Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitreams are also modified by other applications or directly by users, because data corruption may occur. To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. Therefore, instead of XML schema to validate XML files, we may use an equivalent set of classes. @@ -65,123 +89,139 @@ You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML #### Visualization -One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kind of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? +One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? -As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (**stylesheet file**) to match an underlined group of elements and make it come out as a table. +As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. > To get more about how to start with XSLT visit the W3C School: [XSL\(T\) Languages][XSLW3C]. #### Reflection -In this chapter, we will touch on the subject of reflection, i.e. we will enter a world in which definitions in the program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. The reflection is a good topic for an independent course. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and accessing metadata about types. +Reflection is the next very useful technology used to support serialization and deserialization. In this chapter, we will touch on the subject of reflection, i.e. we will enter a world in which definitions in the program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. The reflection is a good topic for an independent course. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and recovering metadata about types. -So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows avoiding repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet; these types are yet to appear. We want to offer a general library that will be used for various types, i.e. for custom types that the user will define these types according to personal needs. The only thing we can rely on are the types built into a selected programming language because they are immutable. +So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet; these types are yet to appear. We want to offer a general library that will be used for various types, i.e. for custom types that the user will define these types according to personal needs. The only thing we can rely on are the types built into a selected programming language because they are immutable. -If we need to deal with custom types that we do not know, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion based on built-in custom functionality in new types. Finally, we should consider applying reflection, where type definitions become data for the program. +If we need to deal with custom types that we do not know, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion based on built-in custom functionality in new types. Finally, we should consider applying reflection, where type definitions become data for the program that can be the subject of recovery metadata and reading/assigning vital values. -Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is the design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples](./DataStreams/README.md). Reflection allows to write the program in such a way that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is the design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program in such a way that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. -The language we have selected for education purposes is based on the concept of types. It is strictly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be implemented in a generic way without referring to type definitions, because the types may be unknown at this time. +The language we have selected for education purposes is based on the concept of types. It is strictly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be implemented generically without referring to type definitions, because the types may be unknown at this time. Let me remind you that our goal is to automate data transformation between object graphs and bitstreams. We want this process to be mutually unambiguous, repeatable, and automatic. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bit stream into an object graph, requires creating an instance of the object and assigning values to the object's fields or properties to recover its state based on the data obtained during deserialization. The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. reference variables. -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples check out the document [Implementation Examples](./DataStreams/README.md) - -##### Conclusion - -It's time to summarize selected features of reflection. The examples discussed show how to represent type features as [System.Type][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` method. In both cases, an object-oriented type description is created. The examples discussed also show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples check out the document [Implementation Examples][ie] -[system.type]: https://learn.microsoft.com/dotnet/api/system.type +It's time to summarize selected features of reflection. The examples discussed show how to represent type features as [Type Class][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` instance method. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. #### Attributes -Another topic is directly related to the issue of serialization/deserialization, namely attributes. Attribute is a concept used in various programming languages. They are used to add additional information to program text. Different languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages. +Attributes language constructs at design-time and reflection at run-time could help to solve some problems related to serialization/deserialization. Attribute is a concept used in various programming languages. They are used to add supplementary information to program text. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages. -So the question is what are attributes? I propose to put this answer in the context of program snippets prepared using the selected programming language that will be used to explain the attribute linguistic construct. A description of the code snippets is available in the document [Implementation Examples](./DataStreams/README.md). +So the question is what are attributes? The general answer is that it is a programming language construct. Detailed explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to explain the attribute. A description of the code snippets is available in the document [Implementation Examples][ie]. -Based on these examples presented in the mentioned above document the discussion may be summarized as follows. An attribute is any class that inherits from the `Attribute` base class defined in the environment of the selected programming language. In addition, it also means a description of how to instantiate an object of this type, i.e. a language construct that we place before another language construct to which we want to associate additional data using an attribute. Objects that a programmer creates to implement an algorithm that is executed by the program. For this purpose, we use the mechanisms provided by reflection. +Based on these examples presented in the mentioned above document the discussion may be summarized as follows. An attribute is any class that inherits from the [Attribute Class][Attribute] base class defined in the environment of the selected programming language. In addition, there also must be possible to associate attributes with other language constructs. Finally, the language must provide means to instantiate the attributes in the context of associated constructs to which we want to associate additional data. The definition of attributes and association attributes with other contracts must be compliant with the selected programming language syntax rules. The reflection mechanisms must be used to instantiate attributes at run-time. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes but examples will be a subject of further discussion. -### Serialization Part 1 +### Main Technology Features + +Now we are ready to return to discussing issues directly related to streaming data. Above we discussed the mechanisms of managing streams, especially in the context of files. We also learned the differences between bitstreams, text, and documents. We also learned a few technologies including reflection, which can be useful for us. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. + +We've already talked a bit about why we need bitstreams handled using files. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. Data transfer between applications is another use case. I would like also to remind you that we have already talked about an example where we have a web server and a web browser. There is a virtual wire between them. We can only send bitstreams over this wire. The temporary and intermediate data repository is another example. -Now we are ready to return to discussing issues directly related to streaming data. During the previous episodes, we learned about the mechanisms of managing streams, especially in the context of files. We also learned the differences between bitstreams, text, and documents. We also learned about reflection, which can be useful for us. Now let's answer the question of how to create streaming data and how to use it. +These are just a few examples but let's limit ourselves to them because they are enough to justify the importance of this topic. Let me remind you that so far we have noted that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of an object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. -First, let's try to define the purpose of our missions and the limitations we must deal with. +Before we move to the next step, it is worth recognizing what we need. Here, the list of requirements includes: -We've already talked a bit about why we need streams handled using files. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. Data transfer between applications is another use case. I would like also to remind you that we have already talked about an example where we have a web server and a web browser. There is a virtual wire between them. We can only send bitstreams over this wire. The temporary and intermediate data repository is another example. +- access to the data that will be the subject of the transformation process +- values that will constitute the state of the objects +- the relationships between these objects -These are just a few examples, but let's limit ourselves to them because they are enough to justify the importance of this topic. Let me remind you that so far we have established that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of the object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for changing the bitstream into a graph of related objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. +Next, we need to implement an algorithm that will describe in detail this data transformation, in such a way that this transformation is mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. -Before we take the next step, it is worth realizing what we need. Here, the list of requirements includes access to the data that will be the subject of the transition process, so we need values that will constitute the state of the objects and the relationships between these objects. The next thing we need is to implement an algorithm that will describe in detail this data transformation, in such a way that this transition is mutually unambiguous. And here, the mutual unambiguity of this process does not mean that each time we serialize we will obtain an identical bitstream. +From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical stream of bits. Then this bitstream can be compared, for example, to check whether the process is the same as before. And this is where it must be stressed that equivalence has no measure in this respect. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. -It is enough for this bitstream to be correct, i.e. such that an equivalent graph of objects can be reconstructed based on the stream content. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the stream content. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we will receive an identical stream of bits. Then this bitstream can be compared, for example, to check whether the process is the same as before. And this is where it must be stressed that equivalence has no measure in this respect. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the programmer using custom measures. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. +From the previous analysis, we know how to obtain appropriate values that constitute the state of objects and the relationships between these objects. Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the form of the target stream. So we need to determine how to combine bits into words, how to combine words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules. For example, it could have an impact on the bitstream features, hence, the possibility of validating and visualizing content. Two additional notes regarding the target form of the bitstreams are vital for further consideration. -It is enough for this bitstream to be correct, i.e. such that an equivalent graph of objects can be reconstructed based on the stream content. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the stream content. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we will receive an identical stream of bits. Then this bitstream can be compared, for example, to check whether the process is the same as before. And this is where it must be stressed that equivalence has no measure in this respect. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the programmer using custom measures. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. +The list of applications that we mentioned previously as potential stream consumers includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another vendor. -Once we have data for transformation obtained from values that constitute the state of objects and the relationships between these objects. Once we have the implementation of the data transition algorithm, we now need to determine the form of the target stream. So we need to determine how to combine bits into words, how to combine words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules. +We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important here. A person must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to combine these bit strings into letters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which an encoding has been specified. -Finally, two additional notes regarding the target form of the bitstreams. The list of applications that we mentioned previously includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these semantic and syntactic rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another manufacturer (by another developer). We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important here. It is important that a person is able to read this sequence of bits, and therefore be able to combine sequences of bits into words and words into correct sequences of words. And that these strings of words had some meaning for him (had some semantic value). In the latter case, it is important to first be able to combine these bit strings into letters so that the record becomes a text record. Let me remind you that the text record is a binary crag for which an encoding has been specified. +From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. -From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and, in fact, an equivalent object graph can be created. +In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Implementation Examples][ie]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is done manually by the program author, there must be measures allowing one to point out what has to be serialized. -In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. +### Access to Object State Values -#### Conclusion +From the previous considerations, we know that serialization is a data transformation process from an object to a stream form. Serialization should be implemented as a generic operation. It means that the serialization possibility doesn't depend on the type of the serialized object because it should be offered as a universal library solution and therefore used many times and applied to custom types. This process must start with recovering a set of selected values contributing to the state of the object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. -The example discussed shows the mechanism of transferring an object or more precisely the state of the object to a bitstream. In this process, the state of the object is determined by the programmer by implementing an appropriate mechanism for determining the values that contribute to the state of the object. Since determining the state of an object is done (implemented) manually by the programmer in this approach, it is difficult to call this mechanism fully automatic. +#### Self Controlled Access -### Serialization Part 2 +The first approach, compliant with the above scenario, is to locate this functionality internally of a custom type. An example of this approach is covered by the [SelfControlSerialization][SelfControlSerialization] class. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class to be serialized and the class that implements the serialization algorithm. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. -From the previous considerations, we know that serialization is the process of transferring data from object to stream form. This transfer process must start with a selection of values contributing to the state of objects. The previously analyzed SelfControlSerialization class is based on internal reading operations of the values constituting the state of the object contained in the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class that must implement it to be serialized and the class that implements serialization to read relevant values to accomplish this operation. In conclusion, serialization is a data transfer process in which an important feature is automation, i.e. an implementation that does not depend on the type of the serialized object, so it can be offered as a library solution and therefore used many times. +The first issue that we can recognize is full automation of the serialization and deserialization process. If we look at the code, we see that we must manually ensure that the appropriate values constituting the state of the target object are saved in the array, which will be passed on to be written to the stream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a library. -We must be aware that the proposed solution is not perfect. Actually, there are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. +The second issue is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. In the example discussed already, we see that we have two separate pieces of custom code that are responsible for this, and therefore any modification in one piece must be reflected in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect but it still does not solve this problem. + +#### Reflection -The first issue that we can put a question mark on is automation. If we look at the code, we see that we must manually ensure that the appropriate values constituting the state of the target object are saved in the array, which will be passed on to be written to the stream. +Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. -The second issue is the necessity of synchronization of the custom operations carried out during the serialization with the operations carried out during deserialization. In the example discussed already, we see that we have two separate pieces of custom code that are responsible for this, and therefore any modification in one piece must be reflected in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect, but it still does not solve the problems. +To serialize objects of this class we use reflection and attributed programming. An example is described in the section + +### BitStream Format + +#### XML Format In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document. +#### Introduction + An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user. We also completely ignored the operation of graphs, i.e. a set of objects connected by references. Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program. -### Serialization Part 3 +#### Catalog XML + +Let's go back to the XML file and the question of how to visualize data for a user, for a human. It was stated that an XML file is text, namely a bitstream for which the encoding is defined. It allows to employ of any text editor. Unfortunately, if a file is formatted this way and is seen by persons, who are not familiar with XML technology, it won't be easy to associate any information with the text. -### Catalog XML +To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows a transfer of XML text to any other text by adding this additional line in the XML file [catalog.example.xml][catalog]: -Let's go back to the XML file and the question of how to visualize data for a user, for a human. You stated that an XML file is text and it is a bitstream for which the encoding is defined. For these circumstances, you can use any text editor, what I am doing now to display it to the user. If this type of file, formatted this way, is seen by a person who is not familiar with XML technology, it will be very difficult for him to read the information he needs from this document. We can imagine that this file will be very long, that there will be, for example, a hundred CDs. And then using such a document is difficult. +``` XML + +``` -To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows the transfer of XML text to any other text by adding this additional line in the XML file. Here I have defined an additional document that specifies how to convert an XML document to another text. I have prepared an example XML document here, which is a stylesheet document and it is constructed in such a way as to convert the source XML document into an HTML document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document, we can see that it is simply a source document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case it is an HTML file based on a defined XML stylesheet document. +This XML declaration defines an additional document [Catalog.xslt][catalogxslt]. The [Catalog.xslt][catalogxslt] is a stylesheet document and it contains a detailed description that allows to convert the source XML document into an HTML document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document -### To be done +Finally, a few notes related to XML stylesheet transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. Shortly, thanks to the transformation of XML files using stylesheet it is possible to add formatting to the data contained in the XML bitstream. -Finally, a few notes related to XML transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. +### Graph of Objects Serialization -### Hierarchical and Non-hierarchical Serialization +Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. -Let's move on to the last issue related to the transfer of objects connected to each other and forming graphs. So the objects have references between them and these references will determine the structure of the objects. Generally, we can distinguish two types of these structures. The first one is hierarchical interconnection, which resembles a tree. In this case, starting from any point of such a structure and following the references we will never return to the starting point. In the case when graphs are non-hierarchical, then there are points in the graph that when we start from these points and follow along the references, it is possible to return to these points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization of the same object. When to tell that an object has been serialized. For some objects, we have transferred them to a streaming form. But I propose to discuss this issue in detail. +Generally, we can distinguish two types of these structures. The first one is hierarchical interconnection, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics, this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to these points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization of the same object. -### Cyclic references +Previously a graph of objects was presented as interconnected objects in such a way that they create a tree, or at least a layered model, therefore in this model, we can distinguish objects that are at the top and objects that are beneath in the hierarchy. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. -Previously an object graph was presented as interconnected objects in such a way that they create a tree, or at least a layered model, therefore in this model, we can distinguish objects that are at the top and objects that are beneath in the hierarchy. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. But it often happens that these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. +But it often happens that we must deal with more demanding cases, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. ![Fig. 1](.Media/Part3-N80-10-Diagram.png) -Assuming that instances of all classes are created, the question arises which of the objects should be subject to the transformation process first. Therefore, while in the previous case, we could insist that the hierarchy between objects is dependent on the order of representation of these objects in the stream, in the case when objects are connected recursively (they form a cycle), such an assumption cannot be made. Hence, here we enter the issue of equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different streams will contain equivalent states of individual objects and these object states will be placed in different orders will be equivalent to each other, which means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be compared with each other. +Assuming that instances of all classes are created (fig. below), the question arises which of the objects should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term: equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. ![Fig. 1](.Media/Part3-N80-20-Rekurencja.png) -Another issue that should be addressed here is when the transformation process should be ended. If we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class, and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. +Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. + +In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we may encounter many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause the cloning of one object in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. -### ReadWRiteTest +#### Reflection-Based Serialization Example -The next topic is how to serialize the previously defined `Catalog` class, for which we have defined serialization rules. To serialize objects of this class we use reflection and attributed programming. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the `Catalog` class instances. For this unit test, however, it must be populated with test data. This class is defined in unit tests, so I can add an appropriate method to this class that will fill the object of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e. text obtained as a result of an external program, is not a good idea, because, after each modification and generation of a new text, our work is overwritten. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the necessary operations that we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [BEBUG][Debug]. Coming back to the unit tests, we see that an object has been created and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generalized, generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the creation of the file. +This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [BEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: @@ -191,43 +231,40 @@ The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. -Back to unit testing. For testing purposes, an operation is performed to read the same file and create equivalent objects, i.e. deserialization implemented in the following assignment instruction +For testing purposes, an operation is performed to read the same file and create an equivalent graph of objects, i.e. deserialization implemented in the following assignment instruction ``` csharp Catalog _recoveredCatalog = XmlFile.ReadXmlFile(_fileName); ``` -We can now check whether the result is consistent with our expectation, i.e. whether the original object and the equivalent object have the same values that are part of the object's state. - -There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring the object graph. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph is equivalent to the original one strongly depends on the type definitions and cannot be performed universally, therefore it must be the developer responsibility. - -### SerializationUnitTest - -Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The symbol of identity is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the identity check operation in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equals operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings according to the type `string`. These strings are generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that it may happen that the string formatting depends on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. - -### Non-Tree Graph - -At the end of our considerations, let's go back to non-tree graphs. In such graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present.. We may encounter two problems here. Firstly, we may encounter many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause the cloning of one object in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-stream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process,. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing applicability of them, you should pay attention to these issues. - -[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 -[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations -[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 +We can now check whether the result is consistent with our expectation, i.e. whether the original graph of objects and the equivalent graph of objects have appropriate values that are part of the object's state. -## Cryptography +There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. -### Hash +#### SerializationUnitTest -### Encryption +Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. -### Digital Signature ## See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] - -[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) -[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) -[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) +- [Type Class][system.type] +- [Implementation Examples][ie] +- [Attribute Class][Attribute] + +[ie]: ./DataStreams/README.md +[XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp +[XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx +[STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx +[system.type]: https://learn.microsoft.com/dotnet/api/system.type +[Attribute]: https://learn.microsoft.com/dotnet/api/system.attribute +[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 +[catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[catalogxslt]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xslt#L1-L30 +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 +[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations +[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 +[SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L80 diff --git a/ExDataManagement/DataStreams/Cryptography.md b/ExDataManagement/DataStreams/READMECryptography.md similarity index 100% rename from ExDataManagement/DataStreams/Cryptography.md rename to ExDataManagement/DataStreams/READMECryptography.md diff --git a/SUMMARY.md b/SUMMARY.md index b55f862a..cf16f003 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -31,7 +31,7 @@ * [Fundamentals](ExDataManagement/READMEFundamentals.md) * [Prerequisites](ExDataManagement/READMEPrerequisites.md) * [Data Streams Preface](ExDataManagement/DataStreams/README.md) - * [Cryptography](ExDataManagement/DataStreams/Cryptography.md) + * [Cryptography](ExDataManagement/DataStreams/READMECryptography.md) * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md) * [Usage](ExDataManagement/DataStreams/DataStreams.UnitTest/README.md) * [Functional Programming Preface](ExDataManagement/FunctionalProgramming/README.md) From 1e7f3c8b8ac012ac0e70837b66e196862069451a Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 31 Dec 2023 16:55:36 +0100 Subject: [PATCH 13/67] ExDM Add documentation to the selected parts of the code #369 reviewed DataStreams/DataStreams/README.md reviewed DataStreams/README.md working on 231231-PiP-ExternalDataFileStreamConcepts\Manuscript.md --- .../DataStreams/.Media/MediaFolder.gif | Bin 0 -> 71051 bytes .../.Media/MediaFolderAnimated.gif | Bin 0 -> 255290 bytes .../DataStreams/DataStreams/README.md | 281 ++++++++++-------- ExDataManagement/DataStreams/README.md | 63 +++- 4 files changed, 214 insertions(+), 130 deletions(-) create mode 100644 ExDataManagement/DataStreams/.Media/MediaFolder.gif create mode 100644 ExDataManagement/DataStreams/.Media/MediaFolderAnimated.gif diff --git a/ExDataManagement/DataStreams/.Media/MediaFolder.gif b/ExDataManagement/DataStreams/.Media/MediaFolder.gif new file mode 100644 index 0000000000000000000000000000000000000000..cffd2aaa2fe0e40df57c0eca8bade230eee1873f GIT binary patch literal 71051 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:xFmBFA#I=hihNtsO|R@L|6dwg ze48%9wLh|hu5goT9rTe{Pf7r5Z3OrmrOiS}4CKi(ddP(2`E-7smKE{g! z;nFFeH2)xTb4Dr@+Tjs)B6;(w^*5du2wZomlv{O&_v;LoT@s%_R#E4Dk~qoFIqr;w zmHig9F}op@trlnAB(zIq682)eLW0oE6PbF~*}O5*Cup{7wv0ZOV~;A&gh#N9s7@y% zvjc|Z40+TSg^+FGGYIg_8OSB1tpoL$J~!km6=pBW7)J$b(e4H$fe?Ib@i!8~(O|*z z%*p`#G8v>s17Ar5tJ5IlI%X?cJ+QXtl*aB$1zsUTTxdZ5^cTDNy~i|YAcnOcWpdQU zzIe{`_8VKD?rEK<$A=5thDA&%J=1vtg7u;-oq44Pd69vLmz`ABu0+@#)uLbbr7wuR zGm*t^8MT|o)UA1YZC|}X=1kZmSf{1c#YlJ9a<3dbBDNzt{_s2l4??#`PPW)|FK4g$ zFuy^u#D%HF+r6sTr?VMurVTNOW}%@2idUWm&xsJr-zmNvGT@vyH#32vffy*p#U%Ogq6%*df;weW&QE=?2O&6^%YnIvlVS0%D+ zbHR71kWkD*6WQvE7j?hn;-7V+kL7~r(wKC9-6`9g>qKW21-UkFniXH;lvw4G5GtSE z$EKyQydIcd$%1{((^TCNN#kPao0;Z!ghgayUXd62cUa$%5liAP?^e#tv|NL=%r(lT z{6fq&;8;QyY?JqDds^Nsm!o#Fmd?+d`@RalV3*y)_{2!{q3Pdh^XAd!cgh}F+`$=k z(uLZtcxWyiFy5PJC%M<Q>B|RtZHtUYm)32M={TLqw%NC9qbq;zYR=+t<3;?KE&qR&BOQH>dMn%C3n+ zf1kRSAlRv*zPXXrAMhWNNX=9PJDovvG3`SIui$U?iqnto$KRo2F7Sr7vK-sut*we= zFWCv^+z;KjZXdmL&RKYxgX4{vX!U6*^#3z#oOxo>LPQ_Sgn_p0RS zIBpi8HMEJu{yZ;uouJT;r~SSHeNJK@CyCb}X*qj&=OCeS8iNg@pW#*9zpb)?Ac1~4 z*Ln_irJWCU*vsDU8-2N22aWg!5OQD8?BCefOT*jqtVCe?Uy7-$t9y~>SlN#re*E)} z^`FusDIr?n1R{wF`5Yp@()Kxtoc+s-&6xgNs);p=3K2{gkx|=5=J4Iwh5nvK%yN>Y zb28`1?0*?x7IwiUwK4xwDE>4xe-UM!0`LvzpN$?z5i)+v(?5h2g9( z_6j;aL8|xIMBsA5(L2if-=6PD`tGw`{lRmwdC7O5_+FMtK@~W%djPOuh9AfbAH15C zmi$ji19V>T)&Be1ga2;HG5?S`e|JysqK8iFF0gY?qyot#_yZ$ysQ+W0#&Dj)Mj`u& zkmY|e)*`U|pab4lKg=&4@T&aKg&!EU?yIT%^vdN%=l=Y_@pG~9r{JqS*eeD5ABX$2 zU#hQ;SSpS@au4OZ)%QhVQ~5uGa}WM|bf|Fqr{sqNWjK27k+PW@&ywepE8_La3OxV3 zSS}EbEmSV;=UG8>VNAJyD&QxTDkmSmaotnl0o*>Rt{`42$bz>1X@Y;}r^`X-(Cp7{ z|Lwl|w-bHu<6C$y6?6mFuv&T3qyZ|9V?1U3JK6eg`qjUeKmNUfpU&M@&d61sL(tyj zo>nHpj^Dy(Z6T7%Jg3yIh$5gYbznZ1{|NO1Z<++chd1A&nlCJZc z=J(~Cp7^cIf4Wp6dpcUvJ6QCEEbn;%!n zcraYrV|mZJCEoYF@7l7e??}FsO`XTe!L^wOm*nq!RY574<``s43zhO{zif1Bz5Z_X z=*F^>R`&p;^!3fP9`NAVmHfI*qY&USo&(3hMZZyV99yq?!vOSvL1efg9bmN4ZnHD0T{V(7zWmX;OF@# zcz8#_5HVqB^Jaic z=2C0WqV?q;51bYp9~(hl{k>D$W~c5R@9@+*EL*ukwf<|};?~AGH^57-g>%}!H=JkH z5BXgNbyb5Kx^f0;9ob!|7weu2*uC#;ZE)Ia>T=sP{%|pc&l343)EmwHeCWO;bk;z;f~+_L2RxR41n#H~u;E}U)?rY{C6 zNgxA9c{&ZJ#)Yu+c|si*kLE^0->GONNWyQwijSmkbKCFT7uNdp+%U?oJuX*o#AfnJ z>e{JO+1KXFQx!3M5|MEqlllFA=eU-8M|S8qYYBufXRR3WHsajg+uA{c77Y{PT|C5K zk)(vhk6gK$o`>?@TJSpoB7>q2(`fr-{v}yKnH@th`}$tbxW~d7zU3cJ_H)>d#6ss( zA#lCoZdb=!h#K#hq-t*)3B(G3g_RL z>sC+hIL|Xl{UYhSFT4#;rM=Pd@zx}c8u`)1Tp?tC?Z{h$#Ud=&%NyF4D~?_gQKH}C*z70n;AYuQ-gUosT2$~zf?2tQV$=S!F>W|imLE4Rv zve5GOTHNrfQfIf6>|Dj{KJ%r2;sRpgOKz< zkcIyqn#tzcp$vP@P#}=2T(^&JIdEpNrU>Ze{~N$ke^gy7rxaNB4+wL!&3&qSDF?XAj*i0{4lsA#!KG6&f+K@n+5lofPgj zBdEks^tTKcxg-h$qTnpcUHa8+h4K(78j0niSURT%P132VdjUI<<0LouwP5@lEXuKLZMF3Zr8uJQC6F<%HlavY62>WJ&T|an$h@=2ddbnv z|CAgaetqg|z(j+{oB4d@J$HDnNj<8*%~*FczdB~C%Jg_)PTBcwdHmi6vR1()Nhcg; z@z>{)Mf@0DcoUNiTPm2F%Y4Wm(GE35&spqwjR-2*v1^nyJzAbkx%q9KctPE#Nq+8& zOemAm6|~#qjy*ZRp*P!bq0wqPcsxwy-ssh^uc!{&YJJ;%s9~l>@{xv9z=zbrb47&@ zo@<7^j|uVQ4V#RWewn7~-09MuXbaOYJvkYwEL(-EBCELQrGsD0<#hCG-|QGI46^e^U6R1w8SoqK z47+l_@Y237=?7vr_l3PrF4qDRD&_=NLwYzLKiZ24efNB;MAM>xXH?E&Q;c+@bm1++ zxQXs^#fJZDGEen!%<=+dJFdqKHLyFbys3nU52)UHW2F60Rw*oLOF}RU(Iozd_if}% z|89p}c8(Sq&AS%Xwe~3iG0dLI_hEJ< zG4rG$LjCrHCft7x^Ciec(*9|F-(k!qXZvNq}anXqD zA{%-0Pl_gWI(l)8}N|XuUDEgi0T- zpu-X$5{a`hO?)RWG!fg!UnRmpXk6#GNg_n}n#j&0BVBX=%aEI*4`Uk);sFrB3|O2k z*lB{v30jI*oRFR~`KKo7)}MxF1z#dd0Jgze$0?cjv-j;)`yGbL-!e(6w@amn@Xa94 z@^el(jaz4s>DKdf#Tq)j_ z8=b|+2vBjE-h+lg2l2F6QAk7^B#IC6f$@3VGNe=Tx#BtfbICk9zR&T9K`u1NI4D)M z;Q^-$V;jHl1#N%47XaeI z7%P!FF_Xwyl5DvEu|eS35Ddx;wQ-0@wl(-IK%tZ|r(Ic7T!= zz^A7C;F(}2$B~<%+D}4c*x(h-)Ns+EksX4X2c;;bD5foi|072niO`DY5!Ypk;vj!q269Eye%XzB;gs8Y8;iUk05yF5p<)H)mtRM*~3NLJmtNegT~ALD_aD%^!XG<7D2h1$;y=TgDH!R16hV8mfT=xy$0+O$}Mkl z3Ls}oDScyWSTC5T>vQ<1h{=e9|a;GCN`rOq_Du(p(NzvcS1 zo&xz)c1G|u_jZ4?<(5TeiNDad!%SRqX>okh9g@be%Z<+@tGfPmpr3L_QW-_el3zPC z`_Rf1N%-JxL}WlR9FxdRF1~Kd05fCM-vWsN81XoWOApW)$JE2kU_xbt_292YrK;^E z3dmCEaeS$2(4=!zMnxK)HV5$_CW&q_{`3G0219xVfhkYZf}sS9i6nkoFwPc)*pqfA z&FCaQ30{`d;{#qagGBZuX#)6JIY4>I(zalWhCo@RI z0Xe@EgT%V{p2;Y)d*#<0w;NlrJs{@qBLXcN@f#DK=u}(slUSli!GW;gEnm|;#-KKc zj1VY1yb1464HoWtTa}`wpQ`eifZheWw?S~n>z+`bSiW_)EpULWLVOqJV8qNbYaqQ!6d^3B&9(|kQk2y=55b`~6r-|q)(5u}dHLT)+> z4`_(3y0~h-w}F(te#kGCaULPKl=T;pV!9)fy16jGm-ou|wb?oOq#m!&di zEcbAV6|ANC%W6A(BnSn=ek&0HC+9lKX0kuxQeB!Qq(fw+ zd+;?I5M?snBL6w9@#Q;0k(C((XoN`>DtwogrcnZjJ-P}UP68!CYKv7#b{`#YgMbhqSD0yrzY=UX# zPo>>4!GrPo9%k#B!)@{JX(jH)06Mpd{THm;@~(9~I6W-w-YHKG)Bh+s>xU-4J`4{A zV{Bs^-7vaKX#uyU$W`SxJ6>fZe)lsDqIE5s`i?L>=T9jbcBM^xe_;1 z2^p4L$!_GEAVnTa9FJObiaa{`jt;XgA?1~=^fmh}4z(0&$G=zk`N6nUjU{s>a`y^z z$|wgoJ~~ZdDqUtfGF|Rx*82mlamJ* zj9JYiC*aS9Oy+&MZ+yEgTcuwn$g;pqvgsF!U;N@t$ZTrS_)fo|#E@X-9XzsaYhLU9 z@u_TTLQ*t?XJ;Ct{@(V2#O)#8C{mix6_p?PQ=IQf8}IJt)Tv5#Q5|zYcak##H_{A| zEOa03Tqu?=nybUn`YL@5pWpK*MqB@W@G`c_U=j!*ed)GY{WWPKrcfns`WA33bL4-w zKeo>@%Sv)Vu-`uZWQ%)5+Wjh_>cX`26!Eq~Cz*O&CzblTl4Sb%56wnn-mE}H^0%d~ z#(+1YxmC7UYjzg&i_rWNWSX?;4crB`bQJi0f&&Nmo?BS-gQekWHc37^S0+mSb6@1& z)zPNwZ(F)T&Y$Vt_XwV* zX3TW;kXN5{L(uJ0ZdEz9yPmnHHQtxZyOzZ8kfWWcn@-l^xlOmI1HRWQYVY3OeD!Nl zqFC~+@R5IjHs9jFtP=ixzbm!54@89XE zI*3$)d-!Xqmv~#8Qq6G#?&@)qhp96*t;>yi^}F*zHuhhlRc7$NV}?beqY*2FbSgj> zuk*n=G#yp#rEcexF4j|^REk>^kUY&2eIqPUug8QrXWO&YnadT<*XZwIDX-Kl9FqN;S4x5*IEXpz>L^rnnTE#VPp=07b_+zz*DvbE$CLeoX^k!fs+dI>dC%HxE+G96Q! z%RF+6fWE!UB`f6)PJR9B2=(hx&%0HvOZRN-J^zV07LrSJ568y7l^`@JBo9W#YpNbf zfWKUe*^X|bdWHI#7&;Rg+Cmwrlf95VN7 zu~Z(^aFCFehX6mlGh)!yta;FcqAvT*rkYfSE5viICtZvFA|ApqD6m>IqorhOTDwI# zt3+`gZsWJghWeN?^+7e{K)XSa<)@*l&OqQAf|GK1z^T|;5nFq4nuinhtKYA15FF=dXY{(7+hnywnpD1# z75Jq$EP%765$HRBjN3d!&{h#+wERdWX8)HRhM7Zre=rN=w^8!)*SOjgA;phgOkj0; zT$4*Fb$;!_s>uJ6lVtH7%VXP$8%2sRHSrYioE%W!p zWj~9|7sYGb1Ck?-2SU)Kv(e7vz%2>1DT|9=T7=o^C8*6L{MqryO$ya|Dj%E~T>t_!|sqCsO#LMia$)>D!p{EKXz1bNuCqPtg zv0nwZ=lK<4u85Eq@O1(vVsm~JwIa~!CSQ$TvwaNB%ln7Qxy#!r0gkGW8%rsiw~SwN zuUC8l6@(1sI^s|>k5DHw0lZ92idkME_Q3T~FA@u6*q6UAyHKi?uuYv$h+E~Rj& z>cfUcBo;4S3mL_P6r6a`Ld+yD`u})+&2LU`#>-ell8i-McHQxRq=Q96b0=;6F*(~? zG*Z{tvb~X)-=&dk;H~IC=K6u02C)vJ1^q1L(=hS4rWApS{tPX@!iJZrp-@7Pp~j6B zs6W>*opPHY<0WRpIqq{v>>P?s^s!LfWoFh5}iM}>2g_OG8Jny%x#OZ zxthtGt`Ke}*pQjb6YmZ;F-yAgH&c)0jUtn8t~y3C)?8Z=YV=*->> zv+_%hsCpEpxY5Wmb8{un*U{)Z^@|{ldPf8glAscw05OR(8Q&|bGo=AQ!G`Um)|gD@ zu*~ZB7ib5ykMrr=Z9;Pq$25v3^Dt9S$Hhu`I`1)Ce&8E-&D&yDUh>-dA+Oju=Maue{fyW~jwmY=PSGG?1`ydwIqU5aNV)AGyW)T?RR9y!m{ zRYB@OMXg8@|8qfmetGUMyJu4T^J$XU281hemGh?}NQ7j`TsFfm9w<2ab?ute&AIb- zcaXV9_~6}fS@nbJr7P|pKy`<$&j$E`@pIY1-7w_epVNXbg=gam_a`(b@u;XJ+lySfpI2!-wU zY|XT406a+@MMoVy*ZOLd_`qxi%VR&iZo~Pn{CWZ*)vSqc`kAX18JIs|lru<_RCFFQ zAJH(YJbOfYz7AA~c2nOTLjFt{PpaIMVo;0!TIHAfO77y~0O+f2By!OhaQK=^9?pk- ze*5^Yz56Tle#({Y!IXn}+H#Z!(M`i%w>-pHEM!t;N!RI{u8yLmR__N1ZG*}|i+VH$ zq=*I~X&ko8t44vUS~P;8WS%#b&l9b1%EMeFw45ZQR%`5vD3+luDMd?{%V-e(e_SRH zrgvCSF%j4{sNFv-o{9!}kzszgt3A5h`_)t?Jq&9vS*kp z6~I71vniU!t|x={-9h1rLUq8)ii3bAVFu)&E(HtT7h*6&D=4Rcn^s}=rdRucsJhiI z{b}8HXlGl6+A|=3ps-*~qP$JEc&IS24#4$K_e$m}FdQR%29WxeqBenMXM^ocqI7yP zQIg;AH-YLzEaqAPFluD2C=#7{Hq}#-P5=6SsfW9sYBcuR*;0na?A#;Ki|S`e|FDGh{Roxh zu%6M&ipl0MT6d}UYc%;vIB&szL$kKmde*7m^*Q)0usj6k-){^GxJq2N>s?%jG!lWf zuj@E(q&jvuI8N(v_ktsyMcxB zpY#N^meP8@nST<)3ricP1Fu((h?u2aMSZ;^%;4_TtjB2F)<0NoQc$xsSgy%nY3d&h(r2-rDoE4UCC{V5`Y!9*2*sGuAXa^3rul`cr#wx({3MzG#!7^a~ zyX_rjI+ZD%hsplZG99}uj8d)A_GTWql%W0L;gzhb6TbqgQyw}xJo6ZPMFZ};B>0?` z{7MYmCqC8&VkudcHhUJ3wA7*iu*8v5+FO!yRb)C`TeN3>aokK%kR|$+2~6wBbR4$Y zOI;rj7`Cx#9lAz0;Gy^8i`nCjTtBn6tDUXA3jrQ_DNmJ2V_#+lcgIJm$xzz1&#*v+ z@R_GPzxqwmC#ARK^;;GAbSIaGCyUYsIbIK|nhkWdP2AhePjI-}*=Fw|`%wC3?{eD& znW{VbWPH>>b}_VlFgI`xBJ*dPRwfPijCS;f?dFRUS_SL2BKpmC)j~f#pqw)7NqRdm z@uou0?>QUfpe8uw-1KT7@U!O3pdS2#aC%#i+`fOH2T2!YbMw7GGl`DUr>`f^J9(kJBQ4FcsoiUTmxH~VUI zlaV*yCp!dwNfFt{x_;6vGLgqi4mpAJMN3G&+bP05{MFC*Q zs{U0zreoXSfA{|Ws|h}7`Fqm!@Lx9Q@%f zsK}Kr*ws)`(_K-kP%)=nG0#x(fL-wnZoaTxiIh;uoL$K~p;8sQQnjJff6<}R-Jvqi zcV&h{WiN#Gi@V3|T|N^j>J!8Ad!Y)ay9&TCMd+R)YnT%6o{~t|C7HcTm%}b!*}JS8 zrfj;WY!#;Bw5Q@3rW&xP8WyG&x2Kj8rk=B>ekV+$Vo#$sOtW=Qv%6b;GZgwY)HM^R z*n`#nxTn1qrn9-Hvln*tbnhxK91Yz^vxZ}M_c0>jSebq7<#63A`?|W}dZzn&R^j?i z`}&^Y1_Ap9Vc~{x`-UmuMmhUNcfyS;_6_a0Tu1g?CV+}WtPDWcYYA}+xM3_3h4YMbhV>~9lIl(o*y{9j96vxX4#M z@w zApZGRxZhAaa(qa0XYF5_h)15TM#0qRD}T5gc!*};vAWT)@Wqb|!b`?_*ez#RSuvTL zh^-xdT>WE^gO9eJvrnB1$f3LgL(=ZVvjK{V|>8c05YkjEFIvXpq)Te;Q$`DeNoau!=9XV#Ckgj0U+YXdbae~O9x*VWN z?*~8m=T2%TSyrb{o<3IBOA*7yVZ!kr1Up4wv?H8aa+T*!oGk6S=U%M;N{xH( z|Im2ANwe4;QI(S-M@*JmqLuL)l4i3}2h+;1_bK%Z(r?s&!xNb)Pu+Mmxi-p8>w^2G$gcJpEA9ttr zqR6f1ahVOKKsm0V$>$$tk7+)J0hOuNR1_DjV)5Giu`d{Hc6dK8UOE;tweW%5yP7tbj z$*Xr&zqOQjd0*d@$en7LV%I_SzjV(lIrp2{-@D^ETf-lo<$j76P*8ERel_vkppqo` zpnI76v?T$5nz~BI8YJI|w2T!of|HM@Up*=Xg@04Kp~sqvT!2^jDAF>w_({{TSEN7G z;gj0F)MzbjL@ca>tTSoc`)FF9HRsvNjt7(#j`8^KkB{+1R9ZaX;&c>AM5XZ+O`vkX zH-t>F&lnQTtVsY9NG1x)6ay$TK)Q|mGv@RBbi6_gsvN9I(&%FGHI-lgAdcjR|J>+Q zUc`n~`)e@^r71ptwxO=US!8(cDzOaMuJJQoN%E?UX1Iku^R4ji3J`Byp$!XUyu`L| zCB4Kzl&z5yhpa)?7*IQt8H)`QLpqr`Qy}bZZXVzM-pOmA@n$pT6-wiAa6A7ddn1r0 zo!6ho;^5L?zUj1zA(-2XEx)%~e5_gPRW^@x3`0=4zU^RRIN1CfxjDpd7KY8SbQuWHITUo<7iSwyuK8YU5vbu{brN_kC8Onv0yn7s3ZimCH?mbJ4^ngiM ztF&KUtaEB_;LP%W;viI;)Es=%cyD9Pzx~U`(pHk^r+EWDhuZ_=*d*B^BVht^*GS{8 z7Yi#yl!&6`Q``}Ohjh#=Sl~V{)og}y#JK0Zd21p~l=|YFV^K9yKAO)vqh}?JuS1yd zsI_J6ZSB9EZL_mTekTyb_{?H-=g_>~oCgbIgx&Ri&S=QSTWB>U@1EnQ*CcY$mM8m- zlE++pt*TeEYPoiE9F>I~OIKze!|$|5h!L6PtGUH;t(xAb)51UAGwox$lRra~?vdY_ zD!9LX`2iIyjz0YfQt2^#R2CwYu;%m?nPsmh@_H0AlXOS@qO_QARD1gl^ul*M4?VZ2 zOHwd4^wf&fQ}|ME_Yy!ac_PMcZSSF@=zzz@+T>V=h^p)sW-C?t6!~k>vZ`XNzF*pb zIv!UCeCk9cw_3IaazON-rXh zLO%>#KHForbyQ^kZR?CfcGfks^8db%Pw8u<-Tn7b@OF*5khScLC{tJ^whjZW1GD6X zt$NxE|6o(jZnt7BHt?{GfUukdTREAo2r)hBd;e-8;_DlWtpvR*LdIyObQJ9$Vjb}_ z4Hdx341NH~#$~Fr{f%~{T`m1moNupO4RL`oi1bi^f=%wBiYqA`soQCi_60UA$W)Hx z&UCb9uIL9TKOQ)SNxz>Gmvbpy1kT867)}F4^#UO8@K879A!gqt#@oAioOFK{7TWD@ z*kF-KB!uy#qWz3}S9G#0-_%&r=!@vh(+h%=aF7okn3oiW7llRmq?oFgj%g(q`~(}u zez%)1JeVEnjD$Yo^u=S1p1N(*wtwFCsxsSMxGq-DeA;Ss1MJRt0eQr>f9Nz zXDS(g=i7}BL6dr7oXHNGnJbDC&RF$)-hL##5Epa%_XT?KMy*_zfn{iEu7uwwik#Ce z-uE{%-v>%eImCczX*z*HR*#@vud7mr0jXKkvM8cx7;%aW z{@*aO^Xnk_&dy}CswV>&nM4ap1PCvAaG0Sm43z?NhzvysqUpM5l~zZpZ-Im{0eriRpL!oUDbG?y7!ph15yFlXc(gUF5Gl3hkm z{BtS#xEV)#W-sTprA@j5F}-O%FGv5RIRQ0~7Xyy7(YLztaCOy)41be|5q$c%G~f_%!&O4G6!#&M%3IKd@RYAMbbnqn)e# zr3{&b$7Tx~*hZx+=+$XyN6=2zE9EqNsaHF9-7J6fp=~o$xwjut@Fe`W0pS^sMmTH&{6)+a?BjF&wqT(OA5OzsqonPW@Tjav5$x8SMfMyt-Fd_ z(siHAjlaQf3q|g-T+R-Yr4x@``TK3oL${|lRXTPDeDh_+qn0U-VeYI#$KJmaEq4ml zOJ}@zG@kL|9srnI`07;5o*f(9@KyU#o-HR>O)qOtrGX2$iz!Jwl*@<&h6yrPm+87Ct ziOvQf6uN$2x|gP02T%SK^rDz`aZIBS(s`{_t;bo>##nrOdYL^n{@=3jkJU z2s^}`z0F7q&>>FOtRNp~p(RNmO*q9+39vywxZkMI6$=B)ZDn{JU zMSe?U3rym~4k8~6GhdMiLosFt$sb*6U>{1xd>ON{reUwCc_Baew=9|SnHP_!na~U} zM?Ec!MPWGn^$r{>{iIcxwyg$}W@)8K zwArMSU8$I!Y9=iboe3GplSeC4z1)Hk_%_H|hi6Jix-cMKP|tZQ(X&nNtj=UcZbjzg zM5c!7SU85K6F@^I@%+IE%&ai^;r*qB`MHunu%xTMP;jsuGMZH7Gss9Fv430Po50h3 zp~G#Vz?W#=XOlTHF^FUoz2YF(HVG0)!|sQlYY;-r05nG2mqJmpjqbA3p)7vwJSXlP z&H#qQL9QAA_}(~c%WuX_W@fj^PJ4rdI+}uon{8|c(6t=4g(S7obk!zombw>=S-MB3 z757G$ojOIm#4+@xxK&kH&%R?A-WtGTEu<-z#6BkGbV$|}7m;q7P=1Z&C1)c_Tjdtg zwD-MF8>}Gr18dAvOZoBFHL{0^NY_pd!%0=%H<-&n^9?Yo z-wOLJsPOL%R&4T}&JsClZmF8VuVou;_7`&>e-kR#bRQW=O;{n3;mNK|Y`~FS)Y@OH^>*l< zN@7-)-k?|)cE=BhlIwZ@#GMUE>h7Abm$9-s?Q5dA6=ow0Pj5K0zYxHtt0MCHq-)n?{I|*1SzyIMWd3y~QIb*U z!u`%R_IOKxfeOt#@(D4+G8V+}y zV=d?+O9~N&CX=BTD9vp^-P{kw=xTTi3Yi2@fc}n`XC(EF@wJfvPHXJ1@$effOv@sO zt`G=|GUH(*XHCS~6Z{+ty>ik)T$8)~Eq0{=I&k11S2PKtiRHryIq9;=*Aa!-jIbOj zobm|WF=jJU7}`;YFPi388AyZ!^o%0?{6UDcEKS*}7q2vi_lmJaJ$8V47J*fiBsbLP z)dXp2d)>S+l_k!&C#;m(dO!MfM~>1h<66>qynb798o9UUd^mRXwq%d|kF=p=W~~vK z@7M5E95;SqvF6MiNv4wNt$IfyA&TFN=vLTjIlK(sv{g3X@UkNWpI^C3?PM7q@-K~} zH?0Ow4BnffCT!za%#fXveI~LhWsBE81z8Nyup9Y0m#_&Ngj{9$DPUL4fu#{@$Py6T zH~G-yA;DnA9yvsP^wd%WEzA+NBT`<6<>fmZvG4Gd5M{$L=<<0Wi$ycwVzQSOMgWZF zUDZ!D$1giS>4ZeM*r&6jCa6|wp;aj{$m!v|$Q*NODHb3DMyCAo7<;lW?% z;`@?Bo(!@Ek)ivEV2(M*|1LR=4)VR`R5D(KYG$+UQ=kbXq_q%28Ur@TQwya@bRxjH zXl2sPZ?P^iT&%q7gIxCjV532(0z za3T{3Sl!L9xFlJq?T@DPMH4o^WKDxv0gHE?4SpP&B~i=@y@_qS6WL@xL4Dx`_E6o^d0*>}U6WZ3&$9eYF3Do5I;)vysU%&6$Gb!w%(MJf)BY07 zZ!Sv%HgW4Mh!8v{D+Kz={D(bALp`mpX|I6RpU6k|Io{*y)>ubI4ch5}u{xUoi5ceS09H9K6 z7P1v*zw;V}5?yPgnrM7{A8M$Jg-X^T?N|CrK$Mp0*0^`s+F<2FeWeQ?_v^&pGaE>T zcdL~uK1{ma*E1v}MZ;M#^SagBFguRL!bGX2CQhf4VSDto!K@T;hm+8t-l~{#>%|sF z!laMS6tT6opJA z%H7q{L_lq=l0Sz)e(OC#Oog=6P&M9dABR@@CaFIg2bVZYg2cL#(s)YxM5p9ra_L)~ zMhpC&O6Ak|XlIx%&=>)6JO(sE#N{G>3!-pp`BU%2Pq9k5Nr)x*N|(b?*-Ui#R>iBV zn9{%Z&j!hPYWF8+7|D7mb?&Sl6uMYEgC7avy2?#W1YRRSyC}4(iB;E0pe_K&3_k~9 zl4-1Ffk{J>N$*B5ynje^*T|%J3Jtp+;u3(qL6>KU(kP?IpmR^Pas{rA8u3Qa?@Ko^ zqUjf_xk&(^+ePYhMiZ_DGe~4=N@6VojObU6Fus}ti`A3@NR2d{BoZ*51jXZN+VZ-y zILuCm9y`mh9#i#VMSo(YuV4yjxpZLoFGWM<_7!f+IC*n*ekh$B{H&3S=AoAYA zw8G>et{XdF|I7~_PqBb$L#{|hJokHe6o<(F`NuZX15}+`T%))pDY1|!k?pN`@=K_% zJ#W}iSVVmocig};hjbKJTbE_uzPQ-U52z_n%fUs1xqN@_<-lgst z)3{p68#~*ER^&XbxLshGa-IBY5)9^>hFAV%iZ@`1x2O?9%#qwC7!bd5fwV1sx$X>? zD0JzG(3wO#4k3mHxr+_5*#oOtw=y>Cs(9qdyH9%k>4B)bO|U~WJ^`-*B{6&516Ge{=hchhWWPTCSX+gg0U`~-dby$W1;op1RID4xWq z`SQIs)|X{S=mdRmB=^@(sGRlhz7j%nAzv8&5Jxxk-TJE*m+pZvFgx_67^-&tu${8i zL|xyH51zlrV~P1_ZF?}fB%%B)SDD+VK#2WDCWk7wOWo~UyXVR`zB|)-98|wd>G}^+ z(907~lPQ&~6xe|-yRy9YU(SO5S65rU3gtkYf8h-*3Y^52A&5GG4bin#45oltrJW}_ ztA{g?A|{nag-$IN;L zl0=fafBrF2xc-sdctNV7#irQA8tx9`Go{}m5>`(M1CVyFp8>_~H&z?wZ!9;?nWwsA zn6-XF-?SvJ#y3xuMaqpnkKWUPRou91?B6tT$ZT!ICRYv_6uH+V$u`Wx6~z-vCSo!;&lcA z*2cxT=Cqt0cEK`uK#ggY{Aa;~&86DuxCBM3LI7nrNAUU}4r^Nd$Gb|$oTv~2Yrbh? z^qW)0Y47>@Nt)p8$Kg4sYLLv?O|dG>o6b$FjF>mv3GraY6 z^W@j@Bg&zMGE6zxUCV?LX;~(O()YYGDG3X*mxg$FR2$dwwKVl!6`&hZE%Ff-YgI%T zC;=K6aP17zolUb#? z&_n~CO>8jB=DtyyFK!}PEF>=7Tt3^bc0Zz{pbr_{!@kMiCAos>_0^>+@JZ{@!o=e8s!4)+;w1|6?tN^~5r=BoWUULzXH z|NB;K_gZ1$k^HNk@M{6h*(g$m{K-binWgXZVrM0Wk8J+dldKo#T+PvLtw#W6-}}Ya zezlsil}KDyB$H{SkU{@;CjQ^%pHcgJwl`;}aK3-X^H0n73gBGK6czM&C4rKmpmV!W zV9$2&m0YCp(}~;zYRt+{Z8e-}AmH5FJwaDQ&#L>5%rkGm| z^EDdgS-waENAe+ep78(qw4H&5)gUvBMuaa68fdz7@3JSu_MdBc+fn*54MwBVjyu`* zGc_DfCr0ICcXIHsTCQ=Uu}k-ME+!aidEQTqsrK#U5prw!ei)5wF7M<=&(sPWO^oZD z>=Y!z>QD^E6WS(^c+FuMVZ z)CiaUY>E4%n=DGS5B8CkPA2QbK;IB3S`NeEKV`jUF{OuYt;f*BCM;T$w7S2D%L>^N+$5rD)VC(5o&s)4Z!lna0@07gnUYN{?D=@yl zr}OmrIhrAIGoZjf`W5G?d7yfY%;&Q|rR6L9ijgqc0y@^E%JKVSO1&Z4;b&1p+vhiL z{})GL`!2%wX@YQRFK&fl&5A6p>aRn6y#jSRwi_B}dzf>j-}yZDP(YO`tJ!Pn0gsA$ z_(n<5WBtmS;OW})3AV2A-H$4tt~Cn&M2q^(JK-Pl4^PT8?1s)(ucMBhjw*M+L)`-0 z{=6$4*%S-Y+CTNI|KLd$?$`)nKl|{#sFb|e-mx$y``urQbN0>6&fJH&_P@V89f%4F ze!r1(pZ$*7$ib_Os_N60%_kcD)VHC@%rX2R)}A(sY=%k^=9gtfEZ-rq<8lZe#8B&r z=HFu=ICUJrMqCx3MvseP$%!y)8qGI@8B(dGG(29kFU|=WymPp`^-H=CH59#roy+Tl z9w3CiH%Zw;Db1|s-{g0rRB$ZyGmT38m5LKCgY6r)wgOL5mR}ASYCli{J2f%%b|dKo zL65Tke6Qsz?Hql+X_1QotbO?x4H8WC`1=!o$nx1pUF3L=>5 zB4Fe%b}b~cQAO}W6P;P$yi2Z3<;qdMp*C(O(?|D^J7;@hink5nvPHvs^_r>(m}bjc z;3-#}Vrtq>F@qrfKo#Uc!~j?FV!8qo+vjiaTL_>hEI)W?g<*^&ZCBJyg*0 z!0c#mt+2RW{qcOQ?U!hP$S<#|rmMf)VFeo%2p@ZW%^oFacEGyLFLqf+37DBz84Xh1{ihk3*^6um17GB5`n zQ{+VXg`WVJNORC`JiQY#>g^kZkwgS##Ib!I%)NwQ;edZ6L!%{JwsEkIw9s2dOug?A za|FoCPNpURsl<=Ee{(Xd81___n z+aP}eA)q9R@(s~v1GeTu%xw!C=*Q%3Ll=om)tw1$85v~B+-!+h|GRFv4Z4Q_rg1#g z>&G@@eK*tW92lK(ZNzynW+X3 z6^w)>8$n3~!geRLMUm6aZxU2Z4gR zcv#L}X4&&?Xs$-_5s{Fy;b1obHe`hNkwadTF?bs0#SlSC8aUw%b5Z-`_nq*GW_WE$ z@;15rQ5ND9hu}T9vEU64qND=Ih-^jLFOi7)b;L2@exwon!5k#~J>mle6oP{PAuwP8 z1yM#Yb5gkD2Hc$-XgdLqBmb&)d8(cGE)!2@{4Msnt86GyKtybqmLK~g5zTXgh~SVjV2bI_($XAQO7ni(>V(9D}7yx8xggB4t)ouWcrp6M_Aq*6O~v{Okk|x zbRu*z1T|Z(L8@7@YkV=;t{+G5bpX5jCbTeKtjAAFs9{e z!yn8?vtUaE=R-VV6VEjB46#W>`~%!S#lbGw^S{fwe~yL);lZw@0Un89cr)Ynjy}A(h0W0H<++K z*+F|7ro%m`r_M*jxFia#+r{FS2wzQ%L)kXI4}%jk3k-PpPmoOi9Xpi8JiOrUIzR!Z zBqokVT?$0vH|dDdHk#^I$=1V;u8|_0|iY`FL+~jN8x81jWap?9m4;|%S`Xuzv+Vy*Ix!a z>0I3m2|l^c$mkmp^^EF7rm#Dl_(56D$ki=v3=%^Pyv_1vK8KVc23ayuHHtRAZ=4=Z zRXV$`9Y|jE9w|W$x2D_EYUQ-p*6!fREl$@--VX`vPCbB_Hu~x^NB?|7re#8ZmE&-y zaSH~NffyTAeHzt5zSSIiM}z^M)2Mt*;3{-PggCpccS7Hw6Vh>x&+ND#)-XNCKXc%# zGZDG?DR=t|YF@B`U!Z+UL!En&0~b8jOV0e;grVvBw!=emb*BV_GhzS@uIlWNVRwB_ zYFsFc@ZNLy*xA3f+{YyW`EC31JLGv6Z}=z)@@X61m)rk&GkX-3Z#o7|fH;;AVD#~3 zR0`stX!_YHfeebU{^zBd8z6VDa7z*b>UBKKc_}MXxy{!7i-7n>f*%5?h&5vOm5<4% z+uaza`>W5Kce8p-ta4uyY15HjuM|N;i!=dvkIC<#=s9}Hxu9x3aP%CI`{G1C2kG2| zT_rFsCxS6bK~EYG727mGG63EQIwB#Skpo}^+OX~Wr*n+LL>eraJ^~QF4w%=*)7IhP z^~gm&G~G`$-0Y%kfuH+{hDA_ro&umc+BDaHz`YXhW8T5N(EUSnAWI+1oGPtOeF~N>9ch*n22#C*F&4;z_mnp>cq!Q9w%CP zwv(HPhw*iD7q><3as1rS7&3!Dep)#6S=3is%Ff1JU%Qwijw z;y|!J0wfPv@XeIS4N;lziaZ!d6knhAhKKEVS-yBau(|%9{mV9d#3T9epP{R#TGb1IX`q60Qv zKd{sXh1cO-v(23;4%~$|;0;OR#LuDswx>o-SxU5DpSlpMY!Eexoej-XRdWmp$7uiA3A%K03m;FE%@+BFaPylw(h0vx^;@(PFu2OT<}^{>6@%u z|Jv^J5(3|G%tb4(Mch zjRX2pz~-`u14Wnvnx0e(SLj`Km2qW+rxdZgeqq&$GgqHdU819rTx~*eVf>z@e9`+v|gSIGoU+W^+uhsOvrjaBgwFh~M+g;%cz}RDtfvOgS)l z_f5kL@61V;JM~@9t!4G}3vnw?_x_@+n*kpOT;)nn+)?{2jA^`tY*%+EATjG-}Ar7nd+&aLl&B_X~yhw;9p;B&$s?X7`8i6mLA4;G8B*HwHXV# zGw*!uNfEmG)8qAB;EBS}W8N<>|Bbt~-+eD?;Q7*7JZjs1soE&D|HaW&dp-$sGPYVc@uy1zvr;&TAQSX;JEj1(e zlK!>vLs+e>P0O#IOE1#z{1?%|_~iBJ$I7>NrsB%co%UDZUr#%lmR;;;n=^k1>w$JW zYEYYi!?c~$KeNvQUU!_0trxo2Pu0DgWXC`|hO1W|KS|6KFn#sLrP-_}>-g`6u%m@{ z)@yVy5Uc1ek5Lk$EUTG6aG6(VfO^s9M`a$FduG}QSu3|my*zH;#OD?(uMA#b^3u%v zcuj&i`=L}Iy~Jz>aLx2TLAS@1KA6+G5>NGQ89|5oQ@c*Op~5jybxse6fL2@AkVwp; zMcgELATNe1p2#jR&3LOoq@}twNLNH5Nz3$HoUhfd0}7IH5*DQ`hfVDl$_?n9*e%a2>t74xay^5;jJKg z^+0ze{li4}UNHki!;Htv^>SvBGh!D~c9~KB>cBB2+)>S8Yi3yFPQaABXteUw)k;t1 zsXK4{F`UZk|KBzrqL|>oF85V#wKy&TSbr<=H_i<`jT})_Q!oy+6mnJ`QKjh_LvGKkS%tfA1dbRRf^4zP{2J>I+`JAhbquQh@J>eOg;@4Ux8enG54;jk7CEFPG z`%sQegWGuv)@XU-4#jru1@A-%h0qrQlBy}rQ~OUNjoN$3yTPGGB6RN7zfX!Gox~jssC0oSpH7HPI!v`@h2+NkQ0E z?!il!>9kA)!BmUrIRQ3J(4161(oZch0KVbdM*O3>EWVQO#eAg`Jr!(g?pl)~-*J!q zqg#MB!)x1+doz#fFgFp6dPFtn{p!R$alJR*c4j5wm?sY;cnC=QBQ6bOU+{{I5Sd;} z+@#|pQi3O&!c{9Sk+EZXGk$t1M`Pp=nYO&-UP28*Wle0Y2e zAgMgBXk>P&CSRGz44VLIdRu4TEx@pOMu4wI*?yY{rj0O-c#z|d`KA2RHODYP?UIC? znx&O*e!*Gt18X`CUbW{=1v`UciO3bML>4&n_MCvmZo6`zQ-S`^w(M{Z34xK40>fjq z?C{B&hadL2tLCc!460s06WKE3`B_%31!Q7axVc;^CH-C|4k%Csl+#>G)!7qc{^(S# zv9L&F*ur!7ZxNNpb46o&XGFg{^uwpa6}}f*v-XcN8hMIAuKBJoCv8C0N*5mmcLLdl z9-Av;9Bh3@@b3I6b9q@l-;iPQ(3Pyx%^EEPNfbDzc9?mxVDtOzgJ1d(wJg zjhg;g475$F3*QW=Xk#=w^yYxFilPrcYQF(Wh&;^r;`bvpH(>(<|526V|L+2!Hc$i4 zf)*@wrq-IpNJ{*=Q1eWCvzvKnKA zzF8N^MU@3J!xYu4&<9Eweb#_$4(j zN0srw<)^XOzOv}F17lQSAE)njuJ%bQ(TEWZWqkqp`r|KCj>V6zTty<{taXujtQYAU zsH9uX0*Hj+eQ5tkpZ&J2ndHrQg-oR6leokk+O0ytZ4QLMDHiSuKh^fCZ-xinnRHwE z1LkJ!*VO|AN6F%ZTsk7VSft69Md^UqCHmLqsFirXxQpZz4ed3rGuI&~PXyajR3sqF{m|9KjcBG9xUcG&EpjWuG9Szs7buT`j*9qar^WDjbpDaPF> zd18?o2DFrW?V!-rxx#xRz|^RFCIkC~n{E2S)-tOq+$53%FLW@`h5Aa~%|> zvtm`#9js!c2N)5klfe#DsFh@@kgWTYxWQiLh^iEs;l)Qeo-9}QWzB@A7nRkAsc#Dw zd+Wbn2#@xhRnHmwFI1u#j=eg9&ndl3Bn+$YiJ3BBs8^7=!8!f=nvi`~5cNs}s{y0t zWY}a4T=|5f*_I*$Kd<*Qho4^*mwAY5tSEvpo`QWSmjW2Y%aJg$H;UCkN zd1JZ*vQA20mi^}&afV|Lt6Ij)2M`Lvt}S>>*!IllvC1ZKvWM(R-I5qo8knGF+&BRV zE@917YRRSDo8t0IRsUSo|Hs*958k)xz6p3+k#*ejDY!{j#5{j}Y3mMM{PSmq^4CQ3 zS7h$X)#|(rvfW6S{~yQSXn|iY*cSZa}9lj#S}=B5u8zx5xeD*sSO<+Xk}Ijq@C zF7w1@y%~o1P+;aKPc=v+19@l&^6iUZ{qv=o;1e2Mx*UZ=ks@^|tI!c?FqScw&o&>! z+M-6N63e!cMfmi+`HE*-msK2MgZ!*rkjr%QR2_55TUV_r0!8MO53eUphnk05vFAW_3Fjd84zVfZ5P;`p%agidu2t<^t%Ebl8Z=6k~3BnN2S1l7S>F(abAHQ=e6MO1gV2b+-4- zbR6ARS$=pM@!n%%5y9Bm;*C^>;(Ke>f!m0fu+-|-lqneU%5T<@+f{L$qq=~+52uej zl8N6oyMe1*;9g3;sy1yXoUW${ejr$tN3PDPvYG?8hm+a=*Ol>lA>CiL@`EhV|3tva zk&!W(m1o8ZL{|>c7l{e8I=v>sgg5?Qn<{yk@e7)5aF)0XROl=mYiZ5xKGcY<;^@ZE z8+&D3+G-smSA(imjhe^e8IjM*Fz-p6H#SPCi`6|O2G1&bcO*T^0^Gijc+Cm1OMdcw zlJaH|$ua(JvsQw$o8^dcWT?4H?lM(sAKy04kcS&!7Ps8Irgf+`>L11vU-i6mN*X4| zppnUPKL*~1ggl;myHuOvFsF4xHP3B^7)!d~Ij&~r+eI>@{5{<-6 zvs8)Rr_!vKQ>Gr$D|E^xV(EnESmH^k0mBRiCBRCF;$TL6(RAUZFhEausx-C%8k;JM zz-caW`FkY`$Pxm=7!)WnK8$!xFUdsJ6xqgP_hAOBlH?yTM2lRY)*ih-44<7mlTq5C z6Na_UWiXvIi`|&LjRM&;LhLsHdbtcC`_4%g1lCTRi@5NW)|6;QI>`X3x(hC6Sh72< zJT%-9nQ^MO*XtAufj zU3>IyP%^J8PN?SVTO3ScTKo%BK{g{e^O=@|==HiM17)x3Qae-Jo7U)?KhUGS=re7L z@vdW^J?7z4Lg*61+D6s(cbre&8Ml`kKBxc6GebY*Jbjwk$}$Ft%mrWZn%moE34o>b zGkzJ5$vr{6`*nN%kmboNy(j(W((!<=pKiH^Tkzk&s{K4yjnPfXm`hzZWcM(99RKc9 zXI=I>8!>>y&Lc*!CS8whCH}?qsB+fCkme&P9Eqw72S~P<5`o+*`tQt;Hp@4sCC0l| z&os+YG>0F2Ve`yRo7AkO&oK1V?NhMeu6^?GZE|^eAl`~e2I|VNQ*eY~`b$3xnKn}VF7V33 zSOG6y9T1)4L~*nOp}+@FG3uVStgG*JQ|G7Y&GB0dv`*mqKJgxD1+tNhIRQEiLqc zPr4fow3d&G!<#Z$oxN1!r9JOVwi@O>t7B{#ZTGL~w%#}-05zU7yfqz>+>F0hV}J50 zxKYVyS<-9{j6w?T2feNRzGb7%bhKg1tyYn3K)+>Ni0Ud~i$`J_!0<}pkiLh+ zX+-jaumnhzPBs|?@qF;eZftqQ?)};>Y9Eir~+=*M`qdFUoG%TGr1nfWuWM5sEt(y6(!#GmYKC!{j-rv!w#3K#EXVN(xc%1~8I zpHpgmbk_y;A(2RWzN;BI2u+9(UBWxn@}E`tx%+DgcOZ}2sMyrHrbb>!=Yq7yS;=ShNo+cUTPT zOPFIY{~r076xGa`nXve&6d0v8eU;~c*l0?gD)@TAwe1EUJ-&1ofVg{^gP22c6g8Q# z{okPrku_>B+kZFLnAV_IY5*}O90pr`IJG)D7yp8b3&`zlw|b`q8y#)Wo%#m>8p=|J|#n?A;7F z3i+NIdjE*i^td$b*jXp!bHJRz>&Sbzr+oeh-h1{Ci+k>WqyK(%%qNKuahvT}tz09WLC~y6P?rDxhS*$B5z=`vc4Y~ z>>QPXa|3ej)>cN+?1vof?T@akM@x*^0xJ9C!w8Z`P zT^zWj(O@@&bTer2h!_T)8s5HOhNb=&eLi$C3KXA@G@OrCW=uJhKF)v?y*i)xAI1KE zC+{~P{r`)7-;nU~S8qHcy}N^HY}mg~(TNIdM3vF$**jrlG+ge^tLite|C^pmB4CxZ z{&6w+&gM2Y3DQ=t($@TGKcZ>tMA}9%ZL@*K7e5)lk@9Dfw!5B$^7;pO3h}^#JTtSB z`er5J(=4_d4?a-n}PV0v!u-*UWJ0ceW1YW*eOvoSp<7$$xBde-*L2b)+!Y>NAvY z7}%~j-x2hw{m%BW(n4p%`t+0Af0Vy<$Nh0K82h8LNJ)lpD+iybF88PNYlJ9%e6}*2 zFLU{6@TvNb@lu`0pWV>*^~q}U0_8hrnp?BYSB?F4&$M>t+Wlvq-uZjaWwJB+_s`wG zI(v(~#F`ITFK#|t9erTV5}l)axG~*u`B})nxT`ByX>#hBeI=i$`RbS7zkdDC7z<=B`51rYLU@m!Vnkc3{AD{q5IC)L#Zo|g z79Vi$PoFQPf{xm&B$9Pq#nPloW5m3xFuzM1T!JDAo~8!1m0SnnLc+*}#wD7aZ$>hy4{m{={?+(_uL@GoiqAyD5K-X{AX zqv|USKcTraDQ=;Q`M8qKqgsdn3o0M2*@=%bPcf5e-F+h*M7j?-%2|L&d*fX%M>JdH z0+`?Uw8{G_=;s(!qEjp}NrJUr7NGe%8EZ zZ!{nC%1VcRO@mEg{b!%GBghnm+m$0SV%Dbxok%&1_&1#b`uV+O9=eO$f05-6xAWCetXsaeIxRT)d2Li zM!FJRCD>MHP557j1ffNI!unsp%2BlV5cmSB+y`dU0`oVQ82_N`Fb;s_Sf5LMr{%N0 zQwsxo+1X0 zDql~(JQdB+(8YgAJ|7TR|2@8${L{X}u#PS4^C_kijHg5lIH$Mt&>Uq3Xtl z?Fz&UgZO-r1csh|VJjGgt?bCi0)g`SS%P7WgW^TY6h-GKXpVcTcwN>^+U?JiU{+#G zdmJ4&%}Nu)eWb<&4Xc7UAyCW~dAUiQ)l8{Ku`6f$>}D4`s9Q^dx)prsW>Jckzp6~7 zSG_sHU^h8(utL9LaOn<&Wlo(hm9pxbIg#*y>>4QKR|i!aU1%#C`Nd?Y^eXF~f%qNv z+G`RqK58>;y<9bba^q3psCf^aNZ}k<3{7RU`X=!pLlvyhPnY8wwv;IwTdC|7m}ajF z;?A9gsIatkBpLKwQ`{+)VEoKz?XV(smYbq#LS_z9oaX;(u_m*1qBDqWNg%*6LkHwh z2UqdXxMrfF*;4+r7CPdHM6bxSsr}zO2A?mg3_|4}aw09bifPtud?GU_Ewp}hL0;hs zg8j5QLNX#Rt4w5p-D0dlOTAFhV`HY}INz|^hof2dsu693gzC(TUi;D~HF1UGIB_U9 zPJT|@>cY_rDqu-Lez%>58ob7+l!~x1f5?33gnj9lfM=yw!bg~!CP&5b)_BN@yIbe? z9(o*C1)50dYhA|@AJ9db%T9Y;=$@8q9-XrvFa-R{DCD zt8E&wpwv15C#i~|)3y&Es7@4mc_GH?Tw!OIy=Ef2ovLf|Qgo>irhd2eYVt!oyXXcG z25922^}zA$lTu&@C0Xy%``|u%cmtPs`k*I)qBFEG{{M!(NKpnRtZIo6$%~zl=B5eP zn|F7VRUPOxC&qbwDB^*o(do{^HC{!Hsq-Cq=_9>hUP1sy9w3m@5%{MTJVHF~&*KPj zwh6K9GS@=_U&n3uL`L9)B>dDh?qHXF_a;s0Zq#yIH<<3BxTYJnw=pN8GO5e0&&CPj z8ShRn2ni<=HbzvEwXRJ_1{SY&{~^b9Y_F7DMnH<(63JkBN1)-Ps23g1H1t_QaCvej zc`dCbB4Igc#lyz^oSx9@HDPSMX*DNdT>OG$gx1MTTq4w>Pe4!S>Y z;sGgGHW|;;YKdTrHdBLxYyCcqpKtD$(?Szpgny6R_#<*|`zt|g#Ks}v_FE0G`Bc&L zi{H$hu|6Sm4`*sef1f2wbIyeRKC@m*<~$Rr!|$i_FOgWk|7Ih=nmw?ey$p>@5;_2( zh9c$P_>WBBinBv<M>Tdba&zZm>BO;M8y<1?%)2|Kh}#Us z2yUjiTcihllP&xLPhmc=CrgM7q6UDR|5_@=NOm6_y;Q>!agw6p=I4Bvbm+ap?CY2_Q-k!>kCqIFZc>|+mq_!~ z-XH9axoDGPivhI&#4kh$H2!N^xM0%u> znzg`_RXNhDSYD3Yz-u2;MKX(DGr7nbK%_C)?j|Is0UADc4Z=HivkNBx;MeY?-dHoy zKsxfTvV20~6$xm5Um&Y2l7WuO#6~b0Pi7+VPITghSd%3daNI^722e16XT~K9w3vm7 zGAj<|$S2xJ`BQ7DHVc&Q#>+GU!d~H>=+N-V1Q?wX@v7)Wp~ z*>DF<109Vgrd_kt%6OrO<_iP*GYu$PIPnGG1T`Iub-^-0RDrd=|2Y=PtYQRx(UUu9 z&BI=nL=9OBLYhy$9qo3Ha2i^!>3RQP2@VJ^x-hi?+0}*c>%z-smM=Yb2Sg?oX<&^W zjLjSfbqj=8GEq7Fruj5ktA0hIu6&S z+Mq^zy`PmN+RWRQU zfK?a3w+WV9#X=t-8D#zX4ay8?ohBDjED66hoiz4F= zytt|iWRdcRu8cJb$3p^upwyH*0T%$qyCM|9*2znYy%~Ig?0Z-*GtB!#v=YYT{0P(E z+FP$zvrRD3#DEn5w!Z`VPHX8@44e%2Kv`4S&Vo1XC+p-bOjK6il@@|kW|K9M4k2VT z+~a{HQ!--smi*Vi3I<=JiE_0VmZXthl|zu{&s#JV3%pS?4Byp1HOaY@QlW>bS#FcS zUE%I0^l66mp_E|lwtbEFK5ZV|%)85P&<_D|u2>wT+~Xa1RY#SN*eO$S=P02ujiOi;nHoOufF10$>yGG$C4FWs%3>%S>edS9u z4kk1)_>mK~Upu{rQ|?!tz9KTWU%&n|c#{9;qCGEFE6DaOJ*`)zRRPhoqB)uT_ibhQ za+B<=V}HWpOQ>J|D!3Jccj_tD4hZb9+rEshm-YJO$soDfh*lbxdnW$in5S8HqfY~~ zOr~ZcCi5KvvNdOKnpG@fo2oiLB&*oau31j^YO>yBi%ZFiwrCYi+mYky0g}w(TBtNaOOBTI+fW9C% z9A%D1mgBnp95|+V<^;w_w)3#OdB6Ck<_8R`2HsqAuQ3{-bT!i}Q~bMjPdrQy(j)UN3#ZCW>)J zn6XOi0YN<+DmK^i6uHdwxBpjBs=RsApu|M>+*w{~z_{FgqVCmq!;q{%enN&rJW|4z4j(FT3L648=M%k zEUx>C^o##nxXkhkXDJ|gNAk9r`t4FC(^KUE!xFGalf3@sl!hz%S6=9M==g)9Z-WU6 zkF2Eo`&IlNWFu-(j?QC}FK@TI2kAjU3aV^3K!DK$m6dY$9wXNlN2ioTJ8jjQmf2{1 z3t!KzwX<^-8YoG^vC+>Cw0Nm8R4lWF=g}{u^FHq{lfmTe!D^mc6E?AH=IL&%x{`Y% zlqyk4&sPVXGzHI z0kDc{vJ~7xss*jNxSO$PB5Fg?hMKgGV?}lC3>VRSt7GSE%3)o2ekfHhrdRJhB{Ha& zr4}WH!7;fuU%Fr%_EXrAK!^=R)2okb2g^oxnBm%3*UQJJX99D^S?~2p$^sxe6n=Ud zK%v6~wt#)3S@oPM6<9RnegENfOLD>^sm%w z=crG+?C9EK;gPDxZsvXY17ID(1fPkp_kUVOuUWMdhe%o99}Nf`6|$#MFN1D{sVOE$ ztD>u)NK4vYF|hCr+%Db@2Ft4^=K(KEG=iEV`cn2+SpCN@bvtQZK?^dzV4rDbsNiBr zQMk8;*VBy1SDce+`7j(%A~oCFHCijPpUMrEvS*)lkI&S01wjs4B}ih{3=f`c!;G(cz{`MZsT#MWIw}T@$`T00&al0E!nWtVS-H(4_X3#!tLC%fM>qdK`O% zF`$XDmx(aEH{}JMI~SREjOAzLSChqo3;;q2OY6tr;C+HdC(62t1wnGi(-zYjcd=d! zmxy@54&Qb#chQ=o6XB6#)eOD-{-X{Ua7nV4>4`p_ahZ`Sh`o_d(gWD6N6ko2BW83`>u^Uz!GXtb zw@-r*V-!b}ld4#xZ)?2+E>aU>2&L=i=?i#zrRLwmx@54Hqf}j`=U#_jDo&L;sl7G= z&SOfJB_zvwB=a9@du9f9#UA{dwh@Crwyy8h+@SS#&(s2L^~rQ1eqhw^HavV8nXQkS zoSwA1$GrhM`|OziM!#s$s4Ct_X4()rLA_zCrwWqpm=&6N)js+vzKd05{JEO0CyQ2s zX0`K!hmtz8H;;@=s1qsOzuu@prDTYKDgK8234dQ5o+At2ER4m<%&;q!sHM%&S^b0^ zq~$S5E57wN`LIH|G>f~u25c26sBb`k@i>T%`YB+WPnI*(lzh&J zr*V&eo4A;7%7uLNeHaq_P&ES8>~$R!3nf z%Vt&BuL?4^Kis&V>^5?_$?=nHttIV6dArov<)D~Km!|CQN713*|HDD}jml!eSBCOr z{5Ri=sN8sM{*yb!(!VF-=GE;P#it_8=4GcpL>?+ROAn1sHC(MMlhJfo|5rZNJTIzS z7W((|dnUKWTQx-m?()yxFb4)TH!tG`pOw3`4+&iHy!Ni*dc`%{raxu}LrP51j`aF( zcVZdPEE&Mv_B`px-3}j&m@hA>LM{BQK&%Ff5@1%HAQTfo{?T`=>Y*&;j-KH#mKXyy zK=aPS&3T-n4rD|toxc$IZLrIu`8Lj_TO)-Bju9`}q6MexCyf~M+{G&)FB6ef~OQmv{uDz&Fl3yioi9fq1@dz zI=jI`!f=_xH<+YmAA_as4z+4b1Fe6nM(IVIZ>*%RF{i!9{(wN}c^k#zTa&0Ka)hbE zM|I!*jU%6eOkrb>XKSUupxF5SjAQg6`ebz`y}{EZJG;ob*Yk-;{ja7|zqe6FYX40? zoH6AM+2X9*Y+ojGh+Mb2oz}(vwgbHCAe#3VQ}i9(JVADO5pO< zr=pP_Hk*MqlWD1uMPI@4fA9#Ow$cRWk52+pfS0qU*Pg<{3%HJ3oDrnXKCapgE~Acm z!Kc@K1lM2#G^|aCg zrJH;oWY@bSSg+}NG}S`!%7+L@{)GTX^5uhQOfntH!9>q*3a{uzhWM!pd$e;hT*;yn z&4W>Z?A|bWyEX>LCUe#HNxbkLQVrz|VP(yw*Sm*P+6yz~m>mWK)LFPJ5Cbk-YH1hB z8j*LoAV}>-idJnOFT6RM!7HW@IzSbhI;v`c#+XrBuYky@+)1;h5j?|D7r5av8)7YXP zhiMAF&G&F?FlV_RVlVR7^|9ytnM>?E8h#AhFpOoX9&fG}-9x76Js)8n+M|O*9|Ray z;27Fh@lVMJOwa+?(fY)KAZGa3w9Y9L1x>BjPE_*s(RCK|8%{lXD+Y+zXp9S6zNFLy zQLaVc5qm)NY3@M4-L1(YWERwMi>a>7^Xpk_Xsftvl^hurwx$2AW zXFLmkBO?si*?(o2(defGNT6lXvEFn~<~=|Kfj*(TVlkuvQ= zyiZLCmUcI0hnFUGto+|>#hu_<_84XY&6agYN?1ZyU`!Ok(J2Tz>NOl~S?faFSx3MB z^~ui4RMBKRp$g^Ml_EZ~>^)*s0o;_bloPD;wo`*~ZYqfLPUn3|LknH+b(mR)&&(-m zMkqPeoh%#3f{vrMsTnLqrb4;d9k-8qulrnBttVR-p2n(Ax<3cC|2jH;MK!FU)gxG=`=6Pwi_AQ1`)tEnd z{U-2hUFHTCs;c>2%rA*9;{VQpCq2&?#5NZ@J(qzel<&d^8zp)PM^DARo*V8ZzFJD< z$}wj9d|l*3<2;Rv{0=@7{p9|s;feT{NHB>?zJ|GIgINZq6Bokygo9B!NYVkYn7r}nacN=$g0eB zVayp;CUo|bxw*_Q!pzQ>n6uuqyi#TTOT+Zgk@>5aSf^Ck-sjFnS+IUpRj=)b9RgTF zu-0)m#X4je zuW}W5#K8I#M8b+Abg9>-)UkYJ9iC`5;paGsNE@75=-9 z{I8PvB6DRXsr>p-cFyGkBQ?=lGZ^_j|HC$c@_hlanqXbHAnz34g{Y)WP3T3qP*tie54KjZXZ6SCj22>__HI!mwn+SHIcP&kC}5E@bvR}q(*K7_T4D;QYw@1TRH|2jDmY$o#$$(zm8Lz49fms>|Gskcn-VNo@b0yHoh$Q>khk z2V6`r>_Fy0gxte+x$*Fa^gQa*fO+J3lQYMIQxY`Hk^5J4d?Z@hyTb1rtuF``=K8}H0N1=Slo zvF=!!u6=BlK>k)s;D_TjldIwKPt_kVz)QrL65B+Vhxjp1te0_2V&ZU{-y(~s@7bs| zXbK#Iz$?MQ8pw;{@URdm*&BwYv^1xG3FH)cu^oT0YtiWpc@`* zhZdNIJ~1xt6M0GH=hK{ziPBph(yyV@WIK#^h}6#tQa<(VVMuYP?fAu$;s{T1=fMIy zc<5=2x-=TQahW%3M+aE8*OAZ!Xr|ncse6@5<;j>t&XZYRYC_!@L`s+Fod9wNIC$+M zPbi?QKjorQ!g-}?>=M&_XbBKx`3i_HES*;`_Pj=*$_0I%4{^igvCB6}$c=>8YWp=>8)V5{j% z{x+e({BT7;-kZasKD0w3zz)pIjKlkq9Z@gVd)4+sR(drFw?A&1i}PAaaGk99Lhkvpo=%NwohGl*B+2p zQCrID*tha2T)ZgYdWhr>6$YbTCuhk7-}Rr;9-3HS*r>pq=UWhfm5OzeEMSK8q7lbxRS)+ z?WiF8o1Djs)n?UjT^vj414C*2w_dUe3!(nN%e^u?s!>bhq{HA9 zT6I+WdSzI0^&iX=EBlHcTnB;o|6Vo9zp4xj;jl=zvv`8P-)}VCWKvfg;RhD6L-E!x z#aJ?mFTCSxeMPjT6X|}H#Bx)x{Z(ZII_W`-z;AHG8~5YVi=L@=%uUDb)#P1 zYZCQH$pta49;{&d1?(9pp1j27Dp%}J<{OwESx@8I}o*(fnmmyxf82xW=W>$iZ1iB=7Y=LcB) zfFE#7hMCcIbch9r5Pwm8{d5^(uYff^{kh$5BASjPudHy(E}2P>!4|zZjI43r`$>>t zkti~kB5p7fRv9THG|q-elJvY{r!tsIAh#Nk=z6ppIy1=uD|ErZg8pyvD(%HAXqT(; zww3FvRmDW!X_OEvM7-U5#eu*VQZLH>8qO6*X6q;4wL5Hm0SLXBxFRVS=Ux3o-@=OV znLQcZLLh&jd-{gxJWl2e@l)rca*o$nZ=s;ysyyy94%nL;F;uS%;hs3H}H7T}Cfh{0I{(zq0J6NVrK`}az zWNeB`jcAlNGa?qZ;KgxIP4 zX*+lCQnkT6rhEE*N-EhoH5Jx=!bSYz7U)F>={|a!(D~q&EH5BiNg){irYT* zsea&-g!bi?w-pVbiSd5>WW@a*W<0NQKyEU74YQgj#OZ5Jp!j-5?{AU$8JD={vg_Xt z)vf^>0?B;Hhh2?2nySCmmU0`JR74E68o5=*)&-gdw(hpVwK9}qoWv4UsBxPB``?qQcn#PGub%|Ls(6?_8{0eQ8({b-LEHrdYR2lIXZ(Dtv z8j%k2JDT3>T~|E^0D#*G0ZK=NJ_azh{0)76$?4_ak^wQ%LLjp`0*t`&AfzX(kk$|{ z02Iq;$16$)gg`&NovPyJ5@XX$vMnc%B(<=sE(u5A7~r3IwfIY ziPafPEvKIkr{im1gihlStUjV%C^}_Nkd>LJf!M`RII@Mk_YK80S_K(B6}Ccc=}}fK zL7c}(XayGN0N^g8vUeO_w8ddt6wX7y_F9jqj~GHCS6sEKQA7!(FLs$^?AOb$Q(@0pnNkYrrSVbusWIZkQNbgb7VFW+_0o zKS@UdC4aMixXjMRS2GC3)9Nl1N9LPUFr1T~cyFK+=FZ!QYYn`y9w%M-WGZwRlX=vw zt!;JtFCv3Yn3nDbwJ~P15x_(NdEF%&(K3#H%f)hEKMMSuUK?y$^eHIt5YjyQ5(_L(#g+M^0lmcr06O3yo}sxE6;l+ASkxg|LF{%fNP z$6sD+M#>FCx2Dy#8PmsnjW@yn$~9cJXXU*9Fwb|VX*5if8^mwzG$=jjjG1(j(>$5r zSA7IQr9I#Le*ugWbL_8Qy-}v@o@dSTZC$Ucco2!P~|1 zA=yEn7^S%+t{=EU)S#l3=MNk$YVp9GqE?fjNL@w^g8O94t*lF={>(X>L<*LHbA3i=4#Mah_Xp2I3 zo~kU(=!FUcL8Xr*SF|!?)FVTe4y(SiykI{0B8E>SF32^0%dA&)z4kTAq3 z-4sS)9y&xQ;srN2;)xU;c;QGTi5Nh{fCTk3j1nBA5sD%&;80CJw}AfeKpK_Ualjf9 z4pT-DHI{L~5J!zRnn=blcZpUa?efc0iuJRLP>R803?Y|vGoU|jMF!P7Wld*MOZ$j| ziDLDf5*GmZloN^|mS7_0j`%nthbq3HB8n~bpc03D1m%;>BMt$ek2cITl-QZFtTNC( zs65h*KjobAOEkp*1DHLh)Uu5%suYUlO%UlaibDNlGl(ts=);&edyXQZHlP4Q6sc;_ z(nu=Zbm|YVj4&JKZo2BO%Wk{wvg?niX^avL zFQKqfXtcU4(uX1Wjx?SmlZ_w$Wn&2` z_qe$WoDbnM=ROua6)&EN`SZ>xpc+&TDuk>u@k0>{)Dc3ux|0SbD@QyL0Q(r@heG*0 zV+luNexxfngRFATNvZr&48aCLBg!YL-hoUsWF29G>jGO^}3;z&RJwU3Pd~-+ibPHLx&7$IHHIQRoK^0G^luz z!w=QyGsz2ceC&=JaU4aRb%B>!PcZ_U=uh)#RFh9I{!|>Ik1JP{cg`$$#NY!V)R^;L zeE9S+!8CwAE}dfd=?4IR{u$(s7et`bxX1abKnF??F5Ym6cmzWX7codLP@#t$Z0{X_ z;K5S(VTuK)Aw+H90Vx!dj|bwx1!@q-JKBJOHT=pH1W-XWLmZchhO!FM zkC#}@WDQJNo;`TBynr(lOO3Y;lfkgry(m7zH)XA*-7HnF}Jt_=KX25eh;rMkqi5MJq~)EO02x zO~&BE9_nX5T?DLJ*LtM3xaF2lByt)YGYjf|3Cv&$bC{)z7b=S8r)(5LDyPMg;u|qi4^a3jXHL;mnnZC7ZeV1J2R)N9#(9r@%&newgGiZL5|3?^ z#uBQKsa!%)h^OpBnbSCj9w#LjR?z;<9>OCe93KL#f%&2sg96MUR}qeEkgFf~NQEuz zfh*F9lryJWtLgw?3nR3k1r-p0090T%+0aH|CsY6f7_flt-HjYl$N&QfU?uS!=wsR7 z&XxRek9ur^15R?s7#NTN8e}4SxOw4xh9C{`WuhLRFau)VfeSf^qJ1HG9}c#Wix2=- zu+7ZRemqfx|MZUt=GcU6F|a`bB4|ghfI}-3$Uu{j0|tgAKo!K{4lcmPAkJ`uAE4V= zG!CN#hSi`rZexc35CcM<(+4CL3&!ypLLvT8h8_-)js;$XWp2>VJK%r@j5Ltl*W8V(_aEd+0D4M~A6i zT;ik00!kyY6P3q^teI*3*p9Se%WX;L9gNsR9|R!?IrwI+WG=Ir&x|fJUZxx)wi!x# z@kF&9a#j#A#*=k~<~*l)n-A$`pGq7S$r)o5%%mhL_8Kt(;KdW3=y3Mp|WqWS195k#kfj@O*-_EUpIV-(zgh*%$b z;k+&LCO|=j9;4NZl7LOBSk*-yW;}?XWe!v+wM9HYjMiNBdM9la>05zu1Pj#Ft_c7` z?e=Ob+$Et9z3>I_o>7Ou86yyBIG!dJyDP`qiX3*pPCla1@GWvSHwMWC76?&?E3l#+ zd?>;|^zn@wq@fu%s5HxszzwQ4oEs~IM} zgA@L{(tnDl7QC=UiBV#OKsTOO6F!v|Cet_aAqw7S5aITH%;YEF&ZR*tw0KgFb9V~hAX94wb6Dr!4ICW0fztp{2&Rrp;!c# zanIu?@{kzr5DC~3gJZ{D?*I!iZ~;89a&MplPoWRYfC7Zz3^ZT}1`!Nea0qxtAhv}m zvCtcsatmB=2wl@m2BH=Fa0^KQ8&f9+m{1R#&;T5P4}ma2WPm^V&Q!FnMPT6IEIi@_RnTmcFa^g&b@TNO^;Hf05C|58DZ`KhN>nm8S5IF>qDSjXpM?+{C#uD;D3wGxY>?Ap-;7b*O z3E_YaED=VQfP@*Lk3#bdI`|M@MTx*+dl@kcau9bu27y>|QKU0UM?oo$um?{TS-S8D zUZQ2rmsU)HWxg_!@bC$~RDvz(k}v5Q(LxK4pj68AP+2GrM+1Cb^(p$bev}B4+81gK zBY#(OMH@yeJCP6Zlov(OCiy@MK?6qG0FQq143=aM?ASGsWffJUR{s=GF9;HVbPUl% zYPRwyofZ{LV=J@vLh#@Wjt~b9F@hoWlBQM&N;5Quzzydh3MVF(C_|2l{*eu|fGppr zHno6`ud}$9N2M>+H6!>77lVX#SLpe~vkft&V zX`qApqJ{3qh1m2~e?*(LNf2kKFy=r9TY!X^LJS>{2E8x~PGCIdwT#R|2V8Io)Bq3B za0yCB30KfJP zBm`Z%`5&=BUbhGd%P1a5a1qVG1Sr68vycSFF?Algce{B!x8MZ+M4$@BU;lmL20R%+LC(VGU3oT zFQzB5pl?Gn2yJl=pMa&?fC`p?f0!ziO;Ioo(-zUPqbu__e!!&t^f45;4cahb@p7bK zB$`Xgq)vJYP%5RX5D(^{CTJ=S_J9tC+6yWLlz>#MpyvLn24N19`ZL)ES-Q##d{IRo zVVC*>61%bot?3aSX{k~{3zr~#d~{aPz>*!Y3*~AL(;%eVa0)`953{NmwR)>u1P{eJ z4f@)9J~$Aihfa7DPX&o(tnj6eWDm~}2fzRniGrqdf~DYKZqekY7+I=xrVq1l2J@v4 zph~0I7n|2Ko3&}10Dzkbmt9cd4u22=9KZolAO{wQUiDB4A%Flxa1OEcS0}Ir{-ixu zk`K!e0ycCH@6ZV%fLS--D?d~Qm^B39q%b}=SWtjj`?Ix^00MuN0W*+P#Fbn%d$T#q zY}sQ6e`Nzb&;)FkUH#w;mxZ%YK({3Ki*Q$7p#B&S%@_~P5C&KP1Alb`A7qNo*ms_l z2n4_YHsAwIFn9>FV4)yma$s*s(VN=jqkyspd>{yfLP;0MKb3F>V8#c7aA3gU2zefbl4Z)(3LHqpS+Q@q1=^vAcKC zFwe(c)k6rsfJrhoV{77x@{49e$xW!TcSQEeODJg7WxXOH=3u%Rfx4h=KY`de|4P=G6ePC=pC2y2syL|wzH{mVy zYZl(3F_gjw9?S=X;42klyY}0sNQRo9f--_p4IhKQJX~fi>#~1zo3^7cAJ->L5i^!> z3DF=^VYEex@eW|h3h@v#%waXP@p0C4H_-57a)b(x<1tsp94@FZ!P6(7^Eh_N6z5PH z%#o)daSmtWC)$vzfoxR3;W)j(2ykZ-(a6=nxIh5*4%z7^j>U#NY;f zKnR)K62h!az--EnBMPC=1jzLMOJNiZsh1DXfXWJk4(QN>`LGSqK+9ZY4>kyD`EU-^ zoK9u=G5s(Ny->&xaS!N_FI43VWjSiq93}>V4m<})QJPNmOn}Yl3;A3{^6ZIgB+msA z4=d9T2Hh_Hu+5Yh75m&Z4Sjt->I)hD&QL+oo`w#95f2UxNZ?G%fGNNyjnYfh58rIh zP!Z2OM>aRe%jjHrDXnJ^&CO5|(tvTz*?c#=oYB?XHq>0ttwPQ%e9l2_Q0v^zg$xn? z49@CIRZ$Ir-I}}G+|AseUT+PqY z)A?e~=q%JT<<1QQ(KY@J5#PMjdmPnMB~$%e&4C?$)!fn@(a}2X&;W1`3#}N74V!fw z3M+dPF>BM<#}AvJ0X~B;zX%~f*%|sU48SGYOB4?=RV!<>(V6YquMOL=E!(qAW~|K( ztDV}?OWU*^6{>BKseRkKEx(pMOtjz#+#C6pJ;0^BJ4-VlGF5%H#X6Vohv_K0=r{Nop;i0p` z6aE>yvIt$!1^!+jz6N6|A#>W=kqwkU;$A>IATHxGPUAIh<2R1uIqu#%&f`7q<3A4M zK`!J&PUJcM-bIe&Nv`Be&g4z*7z2#l*K=#LKRkuK?8!|0Q4>6eb_nXc)GUg?|e>7Nejp)TrL-sz)m>ZgwC zsjliEUh1pv>aPy#u`cT;-RiS$>$i^UxvuNNRO`F$>%R`{!7l7jG3>=|?8lDmyWZ=` z&g{+Zd+g8d=gSW5(@yQxZtY$!?bojD+s^IX4&>SH?cpx&<4*4F4esTR?&+@X>n_0O z&hGCH@9{40X6EkmZtwSw@AJ*Rh8_)3_pXdPr06V6N1(pB+ literal 0 HcmV?d00001 diff --git a/ExDataManagement/DataStreams/.Media/MediaFolderAnimated.gif b/ExDataManagement/DataStreams/.Media/MediaFolderAnimated.gif new file mode 100644 index 0000000000000000000000000000000000000000..96f814fc69ec98f9ae1080c8b2dfc63f3ec783ec GIT binary patch literal 255290 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

      P1;fLOZ{F(Fzbsfdj{ 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

      NY9crLZl$@jH>4zL-Zgnj|;H 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 +``` -#### AttributedClassInstanceTest +Next requirement, common for both human and computer, is a bitstream association with the comprehensive syntax rules. To make the rules comprehensive for humans the bitstream should have been formatted as a text. Finally semantic rules should be associated with the bitstream that allow to assign meaning to bitstreams. -To show how to operate on objects without referring to their type definitions we can recover the features of the type for which these objects were defined. Check out the example from the [AttributedClassInstanceTest][AttributedClassInstanceTest] test method. Once again, it instantiates a variety of types having the same feature and executes test against this feature. +The [ReadWRiteTest][ReadWRiteTest] sample code demonstrates how to save working data in a file containing an XML document, which next can be directly presented in other applications, like MS Word editor or Internet Explorer. In this concept it is assumed that the bitstream formatted as XML is transformed using a stylesheet before being presented. An XML stylesheet is a set of rules or instructions for transforming the structure and presentation of XML documents. It defines how the data in an XML file should be formatted. It is the simplest way to detach a custom document content from its formatting to be presented as graphical data provided that the original document is compliant with the XML specification. -Now the question is: how to achieve a similar situation as before, i.e. how to recover the features of an object type without knowing the type. we already know that this can be done by creating a `Type` instance for the selected type definition using the `typeof` keyword and the type identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the `System.Object` type comes in handy. Let me remind you that this operation is inherited from the base type `Object`. It is a very basic type for all types. So in our case, reflection starts when a `Type` instance is created. This instance can be created for a selected type definition and for a selected object without knowing its type. It should be emphasized here that based on this example, we can conclude that reflection is related even to the `Object` base type. +After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] interface by the [Catalog][Catalog] class we can convey information about default stylesheet that may be used to create output XML file. Thanks to implementation of the mentioned interface information about the stylesheet (xslt file) is added to the XML document and can be used by any generic application to open the file and translate the content, for example [catalog.example.xml][catalogexamplexml]: -To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][[system.type] abstract type, which contains a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the `typeof` keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest]. +``` XML + +``` -#### Managing an object State +### XML-based Validation -There is one more issue to discuss, namely how to control the state of an object, i.e. reading and writing values to its members without referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. +If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstreams correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. -As an introduction, our task now is to implement a library class that enables reading and assigning from/to property defined as a member of a type. To show how to implement this functionality, let's use a previously defined class that has a random name and several properties defined, the names of which are also random. The main goal of using a random definition is to explain how to deal with invisible types. +To better understand these issues, let's look at them in the context of an examples [catalog.example.xml][catalogexamplexml]. The following discursion scops to the XML format but the presented approach should be recognized as an universal one. -In the test project, the `ReflectionUnitTest` test class includes the [AttachedPropertyTest][AttachedPropertyTest] test method, which contains a program fragment showing how to use such a mechanism for managing a property value of an object without having to refer to its type definition. However, it should be emphasized that to implement this functionality we need to know the name of the property and its type. This requirement must be fulfilled because the language is highly typed. The [AttachedProperty\][AttachedProperty] class, which is the implementation holder of the reading and writing operations, is implemented in a separate library project. So obviously the library class won't be able to refer to this type because it doesn't know it - it is invisible for many reasons. We will analyze this class based on the example of the [AttachedProperty\][AttachedProperty] class. The previously used type of the example class [Siyova16][Siyova16] serves as a simulation of any type. +The XML (Extensible Markup Language) is a language that defines syntax rules. For example in the mentioned above XML text after replacing closing name of the `CD` element (by `CD1` instead of `CD` for example) we get an XML syntax error. Syntax error means that the file is not compliant wit the XML standard ad should not be used any more. But after replacing the name of the opening markup of the element by the same `CD1` name then this file is correct in context of the XML syntax. However, it is difficult to imagine that two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, well, it does not represent the semantics we would expect. -In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a target object of type [Siyova16][Siyova16] that is to be controlled. It is worth emphasizing that creating the target object is redundant here because, in a real scenario, we should assume that the object is already created elsewhere. In the next step, a surrogate object as a wrapper of the target object is created. The surrogate object functionality is to enable reading and writing to the selected property from the target object without referring to the type of the target object. The expected behavior of the wrapper class is that it has a property `Value` to which value can be assigned to and read from. These values are transferred transparently to and from the target object that is passed to it as an actual parameter of a constructor. +Adding this attribute causes it to refer to the XML schema. -#### AttachedProperty +```xml + + + -The functionality enabling the possibility to manage a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course title "Information Computation". The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. As a wrapper, the first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. To solve that the type of the target object is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object is conveyed by a new instance of the `Type` type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. - -[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 -[AttachedProperty]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 -[system.type]: https://learn.microsoft.com/dotnet/api/system.type -[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 -[CreateObject]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 -[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 -[Siyova16]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 +``` -### Attributes +The XML Schema allows to define additional syntax rules that will be used to check XML text against these rules. The syntax rules for the XML file must be met in a valid XML document. Hence, we can say that without the XML schema, it is just XML text. After adding schema we can define how to construct the document that is to be verified using this additional schema document. After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for further processing. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax rules, which should be derived from the document semantics. -#### AttributeClass +## Attributes -Let's start by creating a very simple class used as a starting point for the discussion. It has only one method. The functionality of this method is not important in the context of discussion, but the method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of syntax errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used any further. This way we try to fix an issue by preventing referencing of insufficient code instead of replacing it. In other words, there will be no further references to it in new programs. +### AttributedClass -We can use an attribute for this purpose - the `Obsolete` attribute. To observe this attribute and the effects it causes, let's open a test window and add a test. On the right side, I added a test class. Let's add a test method to this class. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports an error; reports a warning to us. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. +Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of syntax errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used any further. This way we try to fix an issue by preventing referencing of insufficient code instead of replacing it. In other words, there will be no further references to it in new programs. -This warning should make us no longer use this method and should use some other alternatives instead. Of course, we could use a regular comment here. Unfortunately, this will cause us to lose the warning on the right side that we should not use this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for communicating with the reader of this text - after all, the program is a text. Attributes, on the other hand, are a mechanism for communicating with the compiler. And as we will see in a moment, not only with the compiler. +We can use an attribute for this purpose - the `Obsolete` attribute. To observe this attribute and the effects it causes, let's open a test window and add a test method. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports an warning. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. -Since we may decide that this was not a good idea, let's go back to the previous entry in which we use the attribute and ask what this attribute is. The F12 key takes us to the definition and we see that the attribute is a derived class of the base class `Attribute`. Now we can formulate a key question for us; whether we can define our own attributes, which we will then use to add them to the program content and use them later in other programs. +This warning should make us no longer use this method and should use some other alternatives instead. Of course, we could use a regular comment here. Unfortunately, this will cause us to lose the warning to avoid using this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for communicating with the reader of this text - after all, the program is a text. Attributes, on the other hand, are a mechanism for communicating with the compiler. And as we will see next, not only with the compiler. The F12 key takes us to the definition and we see that the attribute is a class that is derived from [Attribute][system.attribute]. Now we can formulate a key question; whether we can define our own attributes, which we will then use to add them to the program content and use them later in other programs. -#### CustomAttribute +### CustomAttribute -Here, I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the `Attribute` base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify two things. The first one is what additional information we want to convey using it. And second one, with what other linguistic constructs - called targets - it makes sense to associate this information. +I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the [System.Attribute][system.attribute] base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify two things. The first one is what additional information we want to convey using it. And second one, with what other linguistic constructs - called targets - it makes sense to associate this additional information. -The first task - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (type selection) in the form of data and adding appropriate properties (value holder) that will convey this data. In this case, it is the `Description` property, which is of type `string`. This way some descriptions expressed in natural language may be added to the target. Notice that also a constructor is added here, which is responsible for initializing this description when an object is created. +The first task - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (data type selection) and adding appropriate properties (value holder) that will convey this data. In this case, it is the `Description` property, which is of type `string`. This way some descriptions expressed in natural language may be added to the target. Notice that also a constructor is added here, which is responsible for initializing this description when an object is created. The second task of choosing where adding this additional information by employing attributes makes sense may be accomplished by associating an existing, dedicated attribute with a definition of a new attribute class. And here's a crucial note about terminology. I used the term attribute for both (a) to name a class that is derived from the [System.Attribute][system.attribute] base class and (b) also as an identifier that is used elsewhere and surrounded between square brackets. Maybe it sounds puzzling but it is a typical recurring reference to the joint terms. In other words, we use an existing attribute to define a new one. The [AttributeUsage][AttributeUsage] attribute is predefined by the built-in definitions of this programming language that allows expressing where adding a new attribute makes sense. -Let's examine the features of the newly created `CustomAttribute` class using the unit tests [ReflectionUnitTest.CustomAttributeTest][CustomAttributeTest]. It just instantiates an object of this class and then compares the value of the embedded property value with the initial one. This way we can prove that this class behaves like any other regular class. +Let's examine the features of the newly created [CustomAttribute][CustomAttribute] class using the unit tests [ReflectionUnitTest.CustomAttributeTest][CustomAttributeTest]. It just instantiates an object of this class traditionally using the `new` operator and then compares the value of the embedded property value with an expected one. This way we can prove that this class behaves like any other regular class. -Keeping in mind that the newly created attribute is a class, let's try to use it to add additional information to the previously defined `AttributeClass` class. So a linguistic construct appears, where between square brackets we will have the name of the class and additional data that we want to be associated with this linguistic construction, with this class. Since this is additional data, we call it meta-data; in other words, data describing data. Since in this case, the data described is a linguistic construction, there is the text of the program - the program becomes data. The question is how this data can be used throughout the processing process. Let's see this with an example of a unit test where we try to retrieve this information; and recover this data. +Keeping in mind that the newly created attribute is a class, let's try to use it to add additional information to the previously defined [AttributedClass][AttributedClass] class. So a linguistic construct appears, where between square brackets we will have the name of the class and additional data that we want to be associated with this linguistic construction, with this class. Since this is additional data, we call it meta-data; in other words, data describing data. Since in this case, the data described is a linguistic construction, there is the text of the program - the program becomes data. The question is how this data can be used throughout the processing process. Let's see this with an example of a unit test where we try to retrieve this information; and recover this data. -From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a construction call. A detailed discussion of these linguistic constructs syntax is beyond the scope of the example. To possibly fill in the gaps in this respect, I recommend the C# language user manual. From now on, we will only focus on the semantics, i.e. on the meaning, of these entries. +From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a constructor call. A detailed discussion of the syntax of these linguistic constructs is beyond the scope of the example. To possibly fill in the gaps in this respect, I recommend the C# language user manual. From now on, we will only focus on the semantics, i.e. on the meaning, of these entries. -So let's add a test method in the test class, in which the code will refer to `AttributedClass` a class that has been assigned an attribute. To refer to the type the [typeof keyword][typeof] is applied. As a result of using `typeof` an object of the `Type` type is created for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of `Type` type that will contain a reference to the object representing the `AttributedClass` class definition. Notice that to avoid code cloning the test continues in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttribute` instance method. Additionally, in this case, I specify that I am only interested in attributes of the selected type. We can then determine that I am indeed getting an array with exactly one element in it. This element is of the `CustomAttribute` type, i.e. the type we added before the class as a class attribute. +So let's add a test method in the test class, in which the code will refer to [AttributedClass][AttributedClass] that has been associated an attribute. To refer to the type the [typeof keyword][typeof] is applied. As a result of using `typeof` an object of the `Type` type is instantiated for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of the `Type` type that will contain a reference to the object representing the [AttributedClass][AttributedClass] class definition. Notice that to avoid code cloning the test continues in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttribute` instance method. Additionally, in this case, it is specified that I am only interested in attributes of the selected type. We can then determine that I am indeed getting an array with exactly one element in it. This element is of the [CustomAttribute][CustomAttribute] type, i.e. the type we added before the class as a class attribute. -Therefore, we can return to the discussion about semantics, i.e. the meaning of the notation between square brackets. We see that the `GetCustomAttributes` method creates objects. Objects that are associated with selected language construct, in this case, `AttributedClass`. It looks the same as if we used the `new` keyword to create an object of the `CustomAttribute` class. After creating the object it can be used as if it had been created using the `new` keyword. +Therefore, we can return to the discussion about semantics, i.e. the meaning of the notation between square brackets. We see that the `GetCustomAttributes` method creates objects. Objects that are associated with selected language construct, in this case, [AttributedClass][AttributedClass] . It looks the same as if we used the `new` keyword to create an object of the [CustomAttribute][CustomAttribute] class. After creating the object it can be used as if it had been created using the `new` keyword. -So, once again, back to the heart of the topic. We can ask what role this construct plays. I mean where the class name is placed between square brackets. A class that is an attribute, i.e. a class that is a derived class of the `Attribute` class. We see that the main purpose of this construct is to describe the creation of an object, and therefore answers the question of how to create an object. This way we can conclude that it is equivalent to the constructor call, which is usually placed after the `new` keyword. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. +So, once again, back to the heart of the topic. We can ask what role this linguistic construct plays. I mean where the class name is placed between square brackets. A class that is an attribute, i.e. a class that is a derived from the [System.Attribute][system.attribute] class. We see that the main purpose of this construct is to describe the instantiation of an object, and therefore answers the question of how to create an object. This way we can conclude that it is equivalent to the constructor call, which is typically placed after the `new` operator. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. +### Attribute Access Based Directly on the Type Definition -[system.attribute]: https://learn.microsoft.com/dotnet/api/system.attribute -[AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute?view=net-7.0 -[typeof]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 -[CustomAttribute]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 -[CustomAttributeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24C21-L24C21 -[GoTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 +Let's first go back to the [AttributedClass][AttributedClass] example. This class is preceded by a custom attribute, which is defined below this class. In unit test, we have the [AttributedClassTypeTest][AttributedClassTypeTest] test method that proved how to retrieve features of the definitions of this type by creating an instance of the `Type` type. I moved the main testing stuff to the [GoTest][GoTest] method to reuse this functionality without code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (instances of classes derived from the [System.Attribute][system.attribute] base type) that are created as a result of the `GetCustomAttributes` operation. In this approach the identifier of the type definition is directly used. In this code snipped, the `typeof` is an operator, which is used to instantiate an object that represents a metadata of a type, utilizing the identifier of an attribute type definition. The argument to the `typeof` operator must be the name of a type definition. -### Serialization Part 1 +### Attribute Access Based on the object type -On the screen, we see an example class named [TP.DataStreams.Instrumentation.SelfControlSerialization][SelfControlSerialization] that contains three properties. One of which is named `AverageIncome`, and returns the calculated value, so it returns the result of an expression. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to remember it. The constructor of this class initializes the initial values of this class when the object is created. +In the example [AttributedClassTypeTest][AttributedClassTypeTest] mentioned above, there is a weak point.Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms in such a way that we do not have to refer to the type definitions because we simply do not know them. In general, the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal with objects whose types we do not know. -To transform an instance of this class (to serialize it), first, an attribute has to be associated with this class that will indicate that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. We already know a condition that must be fulfilled thanks to these values. Theoretically, It enables the selection of them. The question is how to do it. +To prepare an example that resembles the above scenario, I have added the [Siyova16][Siyova16] class with all identifiers created randomly by a password generator. The main idea of creating a random definition is to give the impression and stress that there is no need to refer directly to them while implementing the required functionality. To create a generic solution the reality is that we need to be prepared for a situation where referencing identifiers directly is impossible. The reflection can be applied to both cases, so we can investigate it using a simplified case. -## SerializationUnitTest - -The first approach to selecting values contributing to the object state is to have built-in functionality allowing the selection of values that contribute to the state of the object is the first step. It means moving this responsibility to the target class. Unfortunately, It solves only partially the problem because this functionality must be implemented each time an instance of a class is to be sterilized. Let's look at the serialization process using a unit test in this context. The test method [TP.DataStreams.SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. - -[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 +To continue building an example in which we will show how to operate on objects of unknown types, I have inserted the [ObjectFactory][ObjectFactory] class, which task is to create such objects. Precisely, the objects are of different types, but they have one thing in common, namely they are preceded by the same [CustomAttribute][CustomAttribute] attribute. The [AttributedClassInstanceTest][AttributedClassTypeTest] test shows that it is possible to detect this feature without referring to identifiers associated with the object type. For this purpose, objects of various types are created using the dedicated [ObjectFactory][ObjectFactory] class. Regardless of the object type, the same [GoTest][GoTest] test method is performed, which checks the presence of the selected attribute. For this purpose, an enumeration type is defined in this class, in which the values are also random. It is worth stressing that there is no direct relationship between the enum identifier and the identifier of instantiated type. -In this test class, we create an object of the class that is to be serialized next time. In the next step, we must have a class that implements the serialization functionality; I have prepared a class called `CustomFormatter`. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a stream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to its content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. +The [ObjectFactory][ObjectFactory] method is responsible for creating objects of various types. Because it creates objects of different not related to each other types, the return value must be of the `object` type, which allows returning object of any type. Therefore, after calling [ObjectFactory][ObjectFactory] we don't really know the type of the returned instance. Hiding the type of the created object is intended to mimic operation on unknown types. Of course, this is just a simulation for this example. I want to emphasize that the tests are solely used to demonstrate certain features and the possibility of using reflection for serialization/deserialization. -After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to examine its content. +To show how to operate on objects without referring directly to their type definitions we can recover the features of the instantiated types. Check out the example from the [AttributedClassInstanceTest][AttributedClassInstanceTest] test method. Once again, it instantiates a variety of types having the same feature and executes test against this feature. -## CustomFormatter.Serialize - -But now let's move on to the implementation of the [TP.DataStreams.Serialization.CustomFormatter][CustomFormatter] class. Our `CustomFormatter` was created as a class that inherits from the [Formatter][Formatter] class. The `Formatter` class is defined in the language library and it implements many operations to avoid cloning code and implement the same functionality over and over. Using this type to implement serialization it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and use custom functionality allowing to select and read values that contribute to the object state. Thanks to this, we can retrieve them from this object. , i.e. use the `GetObjectData` operation. As a result of this operation, we will have access to all values. We can perform serialization operations for all values. So we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, we have operations related to creating an XML document and saving this document to a file. - -But now let's move on to the implementation of the [TP.DataStreams.Serialization.CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] is defined as a class that inherits from the [Formatter][Formatter] class. The `Formatter` class is defined in the language library and it implements many operations to avoid cloning code and implement the same functionality over and over. - -Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection to read values that contribute to the object state. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve them from the target object by using the `GetObjectData` operation. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. - -It is worth emphasizing that in our example we only write `double` values and that is why I only implemented the `WriteDouble` method, which creates an instance of `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but we assume here that it must implement the `ISerializable` interface, and therefore must provide an implementation of the `GetObjectData` operation method. - -[CustomFormatter]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 -[Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter -[SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 +Now the question is: how to achieve a similar situation as before, i.e. how to recover the features of an object type without knowing the type. We already know that this can be done by creating a `Type` instance for the selected type definition using the `typeof` keyword and the type identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the `System.Object` type comes in handy. Let me remind you that this operation is inherited from the base type `Object`. It is a very basic type for all types. So in our case, reflection starts when an instance of `Type` is created. This instance can be created for a selected type definition and for a selected object without knowing its type. It should be emphasized here that based on this example, we can conclude that reflection is related even to the `Object` base type. -## Part 2 +To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][system.type] abstract type, which holds a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the `typeof` keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest] to avoid text cloning. -As an example, let's consider the [Catalog][Catalog] class, which is to contain an array of CD descriptions. So here we have property, which is an array containing CD descriptions complaint with the `CatalogCD` class defined in the same file. Let me remind you that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties. Well, in general, they don't have to be properties. +## Managing an Object State -[Catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +### Preface -Instead of using a self-serialization approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from which you can both read the current value and substitute new values. If this convention applies to the target object and all indirectly referenced we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. +There is one more issue to discuss, namely how to mange the state of an object, i.e. reading and writing values to its members without directly referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to a property defined as a member of a type. -The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so he can't know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. +### Self Controlled -The rule that we will remember in the output stream all the values that we can read from public properties that have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this type are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data to newly created objects are in the same place, by using the same property. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. +The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to remember it. The constructor of this class initializes the initial values of this class when the object is created. -As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. +To transform an instance of this class (to serialize it), first, an attribute has to be associated with this class that will indicate that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. We already know a condition that must be fulfilled thanks to these values. Theoretically, it enables the selection of them. The question is how to do it. -The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. +The first approach to selecting values contributing to the object state is to have built-in functionality allowing the selection of values that contribute to the state of the object. It means moving this responsibility to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. -When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. +In this test class, we create an object of the class that is to be serialized. In the next step, we must have a class in a library that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a stream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to its content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. -However, the same data can be used by the same program but not the same program instance, we also have to take into account that the programs may be in different versions. In such a case, there is a problem of data compatibility between different versions of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allow the creation of a graph equivalent to the original graph. +After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to manually examine its content. -Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. +But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. The `Formatter` class is defined in the language library and it implements many operations to avoid cloning code and to provide the same functionality over and over. Using this type to implement serialization it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and use custom functionality allowing to select and read values that contribute to the object state. Thanks to this, we can retrieve them from this object using the `GetObjectData` operation. As a result of this operation, we will have access to all values. We can perform serialization operations for all values. So we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, we have operations related to creating an XML document and saving this document to a file. -We also talked about the human use of streams. In this case, further requirements appear. Among other things, this representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is. +Using this approach to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical pragmatical means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. -If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. +It is worth emphasizing that in our example we only write `double` values and it si a reason that only the `WriteDouble` method has been implemented. It creates an instance of `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but we assume here that it must implement the `ISerializable` interface, and therefore must provide an implementation of the `GetObjectData` operation method. -To better understand these issues, let's look at them in the context of code examples. Maybe we will also be able to determine solutions that may be useful in this regard. +### Reflection-based Read - Write -### Catalog class +To prepare this example, let's use a previously defined class [Siyova16][Siyova16] that has a random name and several properties defined. All the members names are also random. The main goal of using a random definition is to explain how to deal with invisible types. -If we assume that objects of the types defined by these classes will be serialized into XML texts, the form of the stream may be, for example, one in which we have a root element `Catalog` containing several `CD` elements describing individual discs. With this type of XML file; we can see that it is a text file because we have defined the encoding for this file. The problem with this type of XML is that if it contains any errors, for example; In this case; it's hard to say that these are mistakes; some modifications; we see that if we enter `CD1` here instead of `CD`, we will get an error, but if we write here; we will complete; so let's also add one, then this file is correct from the point of view of XML syntax. However, it is difficult to imagine a serialization mechanism in which two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, well, it does not represent the semantics we would expect. The semantics that is written by our class. +In the test project, the `ReflectionUnitTest` test class includes the [AttachedPropertyTest][AttachedPropertyTest] test method, which contains a program fragment showing how to use such a mechanism for managing a property value of an object without having to refer to its type definition. However, it should be emphasized that to implement this functionality we need to know only the name of the property and its type. This requirement must be fulfilled because the language is strongly typed. The [AttachedProperty\][AttachedProperty] class, which is the implementation holder of the reading and writing operations, is implemented in a separate library project. So obviously the library class won't be able to refer to this type because it doesn't know it - it is invisible for many reasons. We will analyze this class based on the example of the [AttachedProperty\][AttachedProperty] class. The example class [Siyova16][Siyova16] serves as a simulation of any type. -Adding this attribute here causes it to refer to the XML schema. The XML Schema allows to define additional syntax rules that will be used to check this XML text against these rules. Hence, we can say that without the XML Schema, it is just XML text. The syntax rules for the XML file must be met in a valid XML document. After adding an XML schema we can define how to construct the document that is to be verified using this additional schema document. In case the text is not compliant with the schema it should be possible to verify this document and receive information that this document is not formatted correctly. +In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a target object of type [Siyova16][Siyova16] that is to be controlled. It is worth emphasizing that creating the target object is redundant here because, in a real scenario, we should assume that the object is already created elsewhere. In the next step, a surrogate object as a wrapper of the target object is created. The surrogate object functionality is to enable reading and writing to the selected property from the target object without referring to the type of the target object. The expected behavior of the wrapper class is that the `Value` property can be assigned to and read from. These values are transferred transparently to and from the target object that is passed to it as an actual parameter of the constructor. -After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for the deserialization process. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax correctness. If the document is not valid concerning these rules, do not attempt to recreate the graph of objects and their states. +The functionality enabling the possibility to manage a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled "Information Computation". The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target typeof the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the `Type` type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. -If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. Since we recognize the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the XML schema and then create classes based on the XML schema? But let's try to see how this can be achieved using an example. +### ✍🏻 Reflection-base serialization -To generate classes in CSharp; I have prepared a script that uses the XSD program (this program is available in the Visual Studio environment) and now let's try to use this program to generate the classes that we previously created manually, let's now try to generate them automatically based on the `Catalog.xsd` schema, which we just discussed. To do this, we must have a console window open to run this program. I entered it here and ran it. We should get the result in the file we previously created manually. I confirm that we want to accept all modifications and we see that this program was indeed generated automatically. At the same time, a lot of different attributes appeared here. So here we are dealing with something called attribute programming. Indicating not only what is to be transformed, what data is to be transformed, but also how. How the result should be formatted, what the result should look like in the form of a stream, in this case, it is XML text, and after adding the schema, it is already an XML document. +Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. -Tutaj widzimy, że mamy faktycznie klasę `Catalog`, mamy tutaj tablicę opisu poszczególnych płyt CD i tutaj mamy kolejna klasę, która opisuje właśnie pojedynczą płytę. I wszystkie te properties, które mieliśmy poprzednio, ale proszę zwrócić uwagę, nie mam tej którą poprzednio dopisaliśmy. Ona zniknęła, została nadpisana, ponieważ ten program wygenerował w sposób automatyczny tekst nie przejmując się tym, co było poprzednio. Stąd też pora przypomnieć sobie nasze rozważania dotyczące definicji częściowych. To jest pierwszy przykład, w którym widzimy, że ta koncepcja jest niezbędna w sytuacji, kiedy mamy do czynienia z auto generowanym kodem, ponieważ auto-generacja kodu zawsze będzie ignorowała wszelkie modyfikacje, które my wprowadzimy do tego pliku. +The `ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation` folder contains classes that represent XML schema and are used by the program as an object model of the working data. -Here we see that we have a `Catalog` class, here we have an array of descriptions of individual CDs and here we have another class that describes a single CD. And all the properties we had previously, but please note that I don't have the one we added previously. It disappeared, it was overwritten because this program automatically generated the text without caring about what was there before. Hence, it is time to recall our considerations regarding partial definitions. This is the first example where we see that this concept is necessary when dealing with auto-generated code because auto-generated code will always ignore any modifications we make to this file. That's why the message at the top warns not to change this file. +Thanks to presented example we showed how attributed programming and reflection can be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. -In this lesson, we showed how attributed programming and reflection can be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. Thanks to the use of schema XML, we also showed how documents can be verified and how document syntax can be saved using a schema and thus automatically generate program text in various languages, ensuring data conversion between various technologies; and between different programming platforms. +As an example of reflection based data values access is the [Catalog][Catalog] class, which is to contain an array of CD descriptions. So here we have property, which is an array containing CD descriptions complaint with the `CatalogCD` class defined in the same file. -## Part 3 +Let me stress again that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties without directly referencing the type definition. Additionally, in general, they don't have to be properties. -This is the third and last lesson dedicated to serialization, i.s. the process of transforming a graph of objects into a bitstream. -### In previous lessons +## Standardization - generating classes based on schema definition -In the previous two lessons, we talked about how to build universal libraries that will allow you to transfer object data to a stream and from a stream to object data. We also talked about how to use attributes and reflection to ensure full automation of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Automation in this context means that the reflection is used to prepare a library and as a result, the conversion process can be performed without human intervention. We also talked about stream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe the semantics of a document and, consequently, to create the source code of a program that will be used in the serialization and deserialization process. +To generate classes in CSharp; I have prepared a script [GoCS.cmd][GoCS] that uses the XSD program (this program is available in the Visual Studio environment). Try to use this program to generate the classes that we previously created manually. The classes are generated automatically based on the `Catalog.xsd` schema. We should get the result in the file created manually previously. -### What hasn't been covered yet +As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Catalog][Catalog] class is generated. A consequence of generating a new program text is that all previous modification are overwritten. They disappeared, they are overwritten because a new text is generated without caring about what was there before. Hence, it is time to recall our considerations regarding partial definitions. This is an example where we could confirm that this concept is necessary when dealing with auto-generated code because auto-generated code will always ignore any modifications we make to this file. That's why the following message at the top of the generated fi;le warns not to change this file. -We didn't manage to cover all the topics during the previous lessons, so let's look at which topics should be covered in this lesson. +```txt +// +// This code was generated by a tool. +... +// Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. +// +``` -First of all, we need to deal with data visualization, so as to enable the use of streams also by a human computer user. Issues related to graphs are also on the list. Let us introduce two terms: hierarchical and non-hierarchical graph. Loops may occur in non-hierarchical ones. First things first. Let's start with data visualization, taking into account, firstly, natural language, ergonomics, and graphical user interface. +Thanks to the use of schema XML, we also showed how documents can be verified and how document syntax can be saved using a schema and thus automatically generate program text in various languages, ensuring data conversion between various technologies; and between different programming platforms. -## Cryptography basics +## Bitstream protection ### Hash @@ -232,3 +237,37 @@ First of all, we need to deal with data visualization, so as to enable the use o [XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) +[system.type]: https://learn.microsoft.com/dotnet/api/system.type +[system.attribute]: https://learn.microsoft.com/dotnet/api/system.attribute +[AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute + +[FileExample]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 + +[AttachedProperty]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 + +[AttributedClass]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L17-L24 +[CustomAttribute]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 + +[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 +[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 +[ObjectFactory]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 +[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 +[Siyova16]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 +[typeof]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 +[CustomAttributeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 +[GoTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 + +[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 + +[CustomFormatter]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 +[Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter +[SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 +[Catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 + +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 +[IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 +[XmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 + +[GoCS]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 + +[catalogexamplexml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 09d5f554..51bbed12 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -26,12 +26,13 @@ - [Attributes](#attributes) - [Main Technology Features](#main-technology-features) - [Access to Object State Values](#access-to-object-state-values) - - [Self Controlled Access](#self-controlled-access) - - [Reflection](#reflection-1) + - [Self Controlled](#self-controlled) + - [Reflection-based](#reflection-based) - [BitStream Format](#bitstream-format) - [XML Format](#xml-format) - [Introduction](#introduction-1) - [Catalog XML](#catalog-xml) + - [Standardization of the output stream](#standardization-of-the-output-stream) - [Graph of Objects Serialization](#graph-of-objects-serialization) - [Reflection-Based Serialization Example](#reflection-based-serialization-example) - [SerializationUnitTest](#serializationunittest) @@ -43,13 +44,13 @@ Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transfo ## Introduction -This folder `ExDataManagement\DataStreams` directly or indirectly contains examples related to the topics of representing information as a bitstream and is devoted to discussing selected programming issues related to their management. +This folder `ExDataManagement\DataStreams` directly or indirectly contains examples related to information representation as a bitstream and is devoted to discussing selected programming issues related to their management. If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and finally a Pendrive. ## File concept -This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. The second one indicates the location where the file can be found by the file system engine. We also have other metadata such as date of creation, length, location on the medium, and others. +This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. The second one indicates the location where the file can be found by the file system engine. We also have other metadata such as date of creation, author, length, and many others. An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to to take part in processing. @@ -81,6 +82,12 @@ So let's summarize this discussion. To simultaneously use object-oriented progra #### Validation +If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. + +To better understand these issues, let's look at them in the context of code examples. Maybe we will also be able to determine solutions that may be useful in this regard. + +_________________ + Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitreams are also modified by other applications or directly by users, because data corruption may occur. To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. Therefore, instead of XML schema to validate XML files, we may use an equivalent set of classes. @@ -89,6 +96,13 @@ You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML #### Visualization +First of all, we need to deal with data visualization, so as to enable the use of streams also by a human computer user. Let's start with data visualization, taking into account, firstly, natural language, ergonomics, and graphical user interface. + + +We also talked about the human use of streams. In this case, further requirements appear. Among other things, this representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is. + +_______________________________ + One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. @@ -145,7 +159,7 @@ From the above, it could be derived that if an equivalent graph of objects can b From the previous analysis, we know how to obtain appropriate values that constitute the state of objects and the relationships between these objects. Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the form of the target stream. So we need to determine how to combine bits into words, how to combine words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules. For example, it could have an impact on the bitstream features, hence, the possibility of validating and visualizing content. Two additional notes regarding the target form of the bitstreams are vital for further consideration. -The list of applications that we mentioned previously as potential stream consumers includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another vendor. +The list of applications that we mentioned previously as potential stream consumers includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another vendor. We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important here. A person must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to combine these bit strings into letters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which an encoding has been specified. @@ -155,9 +169,13 @@ In order not to enter into purely theoretical considerations, let us return to t ### Access to Object State Values +In the previous two lessons, we talked about how to build universal libraries that will allow you to transfer object data to a stream and from a stream to object data. We also talked how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is used to prepare a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. We also talked about stream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and indirectly semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. + +_______; + From the previous considerations, we know that serialization is a data transformation process from an object to a stream form. Serialization should be implemented as a generic operation. It means that the serialization possibility doesn't depend on the type of the serialized object because it should be offered as a universal library solution and therefore used many times and applied to custom types. This process must start with recovering a set of selected values contributing to the state of the object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. -#### Self Controlled Access +#### Self Controlled The first approach, compliant with the above scenario, is to locate this functionality internally of a custom type. An example of this approach is covered by the [SelfControlSerialization][SelfControlSerialization] class. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class to be serialized and the class that implements the serialization algorithm. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. @@ -165,11 +183,23 @@ The first issue that we can recognize is full automation of the serialization an The second issue is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. In the example discussed already, we see that we have two separate pieces of custom code that are responsible for this, and therefore any modification in one piece must be reflected in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect but it still does not solve this problem. -#### Reflection +#### Reflection-based + +There is one more issue to discuss, namely how to control the state of an object, i.e. reading and writing values to its members without referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. + +Instead of using a self-controlled approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from which you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. + +The rule that we will remember in the output stream all the values that we can read from public properties that have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this type are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data to newly created objects are in the same place, by using the same property. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. + +The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. + +As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. + +The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. -To serialize objects of this class we use reflection and attributed programming. An example is described in the section +To serialize objects of this class we use reflection and attributed programming. An example is described in the section ### BitStream Format @@ -199,8 +229,24 @@ This XML declaration defines an additional document [Catalog.xslt][catalogxslt]. Finally, a few notes related to XML stylesheet transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. Shortly, thanks to the transformation of XML files using stylesheet it is possible to add formatting to the data contained in the XML bitstream. +#### Standardization of the output stream + +If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. Since we recognize the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the XML schema and then create classes based on the XML schema? But let's try to see how this can be achieved using an example. + +_________________________________ + +When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. + +However, the same data can be used by the same program but not the same program instance, we also have to take into account that the programs may be in different versions. In such a case, there is a problem of data compatibility between different versions of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allow the creation of a graph equivalent to the original graph. + +Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. + ### Graph of Objects Serialization +Issues related to graphs are also on the list. Let us introduce two terms: hierarchical and non-hierarchical graph. Loops may occur in non-hierarchical ones. + +__________________________; + Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. Generally, we can distinguish two types of these structures. The first one is hierarchical interconnection, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics, this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to these points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization of the same object. @@ -245,7 +291,6 @@ There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. - ## See Also - [XSL\(T\) Languages][XSLW3C] From e98a5b8ba3d96abd02b91dbc36cdd16635345503 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 31 Dec 2023 17:21:42 +0100 Subject: [PATCH 14/67] ExDM Add documentation to the selected parts of the code #369 reviewed DataStreams/DataStreams/README.md ready to publish 231231-PiP-ExternalDataFileStreamConcepts\Manuscript.md --- .../DataStreams/DataStreams/README.md | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index d0dd5659..25b533e9 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -45,7 +45,7 @@ The external data is recognized as the data we must pull or push from outside of - **structural** - data fetched/pushed from/to external database management systems using queries - **graphical** - data rendered on Graphical User Interface (GUI) -This section collects description of examples explaining usage of the **streaming** data. +This section collects descriptions of examples explaining the usage of the **streaming** data. ## File and Stream Concepts @@ -55,31 +55,31 @@ Let's look at the `.Media` folder containing files used in the examples: ![Fig. MediaFolderAnimated](../.Media/MediaFolderAnimated.gif) -We have different files there, but similar descriptive data, i.e. metadata, are defined for all of them. Among these data, `Name`, `Date`, `Type`, `Size`, `Data created` and many other information that may be useful, but the most important thing is, of course, the content of the file. +We have different files there, but similar descriptive data, i.e. metadata, are defined for all of them. Among these data, `Name`, `Date`, `Type`, `Size`, `Data created`, and much other information that may be useful, but the most important thing is, of course, the content of the file. After double-clicking on the selected file an image will appear. ![PC](../.Media/PodpisCyfrowy.png) -Here we may ask a question - how to describe this behavior? Well, a program was launched. This program must have been written by some programmer. The program opens the file as input data, so the programmer had to know the syntax and semantics rules that were used in this file. The data contained in the file make it possible to show the content graphically on the computer screen. This is the first example of graphical representation, but we will return to this topic later. +Here we may ask a question - how to describe this behavior? Well, a program was launched. This program must have been written by some programmer. The program opens the file as input data, so the programmer had to know the syntax and semantics rules that were used in this file. The data contained in the file makes it possible to show the content graphically on the computer screen. This is the first example of graphical representation, but we will return to this topic later. ### Program Context -Using code snippets located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. From this example it could be learned that the `File` is a static class that represents available file system and provides typical operations against this file system. The content of the file is represented as a bitstream, or rather the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). +Using code snippets located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. From this example, it could be learned that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is represented as a bitstream, or rather the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). ### XML-based Presentation -Using bitstreams (file content) we must face up a problem how to make bitstreams human readable. Firs answer we know form the examples above, namely the bitstream must be compliant with a well known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. First requirement in order for humans to understand the stream that it has to be formatted as the text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: +Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. Firs answer we know from the examples above, namely the bitstream must be compliant with a well-known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human-readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: ```xml ``` -Next requirement, common for both human and computer, is a bitstream association with the comprehensive syntax rules. To make the rules comprehensive for humans the bitstream should have been formatted as a text. Finally semantic rules should be associated with the bitstream that allow to assign meaning to bitstreams. +The next requirement, common for both humans and computers, is a bitstream association with the comprehensive syntax rules. To make the rules comprehensive for humans the bitstream should have been formatted as a text. Finally, semantic rules should be associated with the bitstream that allows to assigning of meaning to bitstreams. -The [ReadWRiteTest][ReadWRiteTest] sample code demonstrates how to save working data in a file containing an XML document, which next can be directly presented in other applications, like MS Word editor or Internet Explorer. In this concept it is assumed that the bitstream formatted as XML is transformed using a stylesheet before being presented. An XML stylesheet is a set of rules or instructions for transforming the structure and presentation of XML documents. It defines how the data in an XML file should be formatted. It is the simplest way to detach a custom document content from its formatting to be presented as graphical data provided that the original document is compliant with the XML specification. +The [ReadWRiteTest][ReadWRiteTest] sample code demonstrates how to save working data in a file containing an XML document, which next can be directly presented in other applications, like MS Word editor or Internet Explorer. In this concept, it is assumed that the bitstream formatted as XML is transformed using a stylesheet before being presented. An XML stylesheet is a set of rules or instructions for transforming the structure and presentation of XML documents. It defines how the data in an XML file should be formatted. It is the simplest way to detach a custom document content from its formatting to be presented as graphical data provided that the original document is compliant with the XML specification. -After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] interface by the [Catalog][Catalog] class we can convey information about default stylesheet that may be used to create output XML file. Thanks to implementation of the mentioned interface information about the stylesheet (xslt file) is added to the XML document and can be used by any generic application to open the file and translate the content, for example [catalog.example.xml][catalogexamplexml]: +After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] interface by the [Catalog][Catalog] class we can convey information about the default stylesheet that may be used to create an output XML file. Thanks to the implementation of the mentioned interface information about the stylesheet (`XSLT` file) is added to the XML document and can be used by any generic application to open the file and translate the content, for example [catalog.example.xml][catalogexamplexml]: ``` XML @@ -87,13 +87,13 @@ After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] i ### XML-based Validation -If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstreams correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. +If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstream correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by the possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. -To better understand these issues, let's look at them in the context of an examples [catalog.example.xml][catalogexamplexml]. The following discursion scops to the XML format but the presented approach should be recognized as an universal one. +To better understand these issues, let's look at them in the context of an example [catalog.example.xml][catalogexamplexml]. The following discussion scops to the XML format but the presented approach should be recognized as a universal one. -The XML (Extensible Markup Language) is a language that defines syntax rules. For example in the mentioned above XML text after replacing closing name of the `CD` element (by `CD1` instead of `CD` for example) we get an XML syntax error. Syntax error means that the file is not compliant wit the XML standard ad should not be used any more. But after replacing the name of the opening markup of the element by the same `CD1` name then this file is correct in context of the XML syntax. However, it is difficult to imagine that two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, well, it does not represent the semantics we would expect. +The XML (Extensible Markup Language) is a language that defines syntax rules. For example, in the mentioned above XML text after replacing the closing name of the `CD` element (by `CD1` instead of `CD` for example) we get an XML syntax error. Syntax error means that the file is not compliant with the XML standard and should not be used anymore. But after replacing the name of the opening markup of the element with the same `CD1` name then this file is correct in the context of the XML syntax. However, it is difficult to imagine that two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, it does not represent the semantics we would expect. -Adding this attribute causes it to refer to the XML schema. +Adding these attributes causes it to refer to the XML schema. ```xml Date: Sat, 6 Jan 2024 22:09:24 +0100 Subject: [PATCH 15/67] ExDM Add documentation to the selected parts of the code #369 - after publishing External Data - Attributes - Profiling Data Access --- .../DataStreams/DataStreams/README.md | 146 ++++++++++-------- 1 file changed, 84 insertions(+), 62 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 25b533e9..67af46f6 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -20,17 +20,18 @@ - [Program Context](#program-context) - [XML-based Presentation](#xml-based-presentation) - [XML-based Validation](#xml-based-validation) + - [XML-based Classes Generation](#xml-based-classes-generation) - [Attributes](#attributes) - - [AttributedClass](#attributedclass) - - [CustomAttribute](#customattribute) - - [Attribute Access Based Directly on the Type Definition](#attribute-access-based-directly-on-the-type-definition) - - [Attribute Access Based on the object type](#attribute-access-based-on-the-object-type) + - [Profiling Development Environment](#profiling-development-environment) + - [Attribute Definition](#attribute-definition) + - [Attribute Use Based Directly on Type Definition](#attribute-use-based-directly-on-type-definition) + - [Attribute Use Based Indirectly on Type Instance](#attribute-use-based-indirectly-on-type-instance) + - [Summary](#summary) - [Managing an Object State](#managing-an-object-state) - [Preface](#preface) - - [Self Controlled](#self-controlled) - - [Reflection-based Read - Write](#reflection-based-read---write) - - [✍🏻 Reflection-base serialization](#-reflection-base-serialization) - - [Standardization - generating classes based on schema definition](#standardization---generating-classes-based-on-schema-definition) + - [Self Controlled Object State](#self-controlled-object-state) + - [Reflection-base Object State](#reflection-base-object-state) + - [✍🏻 Reflection-base Object State](#-reflection-base-object-state) - [Bitstream protection](#bitstream-protection) - [Hash](#hash) - [Encryption](#encryption) @@ -65,11 +66,11 @@ Here we may ask a question - how to describe this behavior? Well, a program was ### Program Context -Using code snippets located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. From this example, it could be learned that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is represented as a bitstream, or rather the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). +Using code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. From this example, it could be learned that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is represented as a bitstream, or rather the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). ### XML-based Presentation -Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. Firs answer we know from the examples above, namely the bitstream must be compliant with a well-known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human-readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: +Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. First answer we know from the examples above, namely the bitstream must be compliant with a well-known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human-readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: ```xml @@ -89,7 +90,7 @@ After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] i If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstream correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by the possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. -To better understand these issues, let's look at them in the context of an example [catalog.example.xml][catalogexamplexml]. The following discussion scops to the XML format but the presented approach should be recognized as a universal one. +To better understand these issues, let's look at them in the context of an example [catalog.example.xml][catalogexamplexml]. The following discussion is scoped to the XML format but the presented approach should be recognized as a universal one. The XML (Extensible Markup Language) is a language that defines syntax rules. For example, in the mentioned above XML text after replacing the closing name of the `CD` element (by `CD1` instead of `CD` for example) we get an XML syntax error. Syntax error means that the file is not compliant with the XML standard and should not be used anymore. But after replacing the name of the opening markup of the element with the same `CD1` name then this file is correct in the context of the XML syntax. However, it is difficult to imagine that two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, it does not represent the semantics we would expect. @@ -107,81 +108,114 @@ Adding these attributes causes it to refer to the XML schema. The XML Schema allows to define additional syntax rules that will be used to check XML text against these rules. The syntax rules for the XML file must be met in a valid XML document. Hence, we can say that without the XML schema, it is just XML text. After adding schema we can define how to construct the document that is to be verified using this additional schema document. After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for further processing. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax rules, which should be derived from the document semantics. +### XML-based Classes Generation + +If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages or by different people. In this case, the problem arises of how to create types in other development environments that will represent the same information. Since we recognized the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. + +Let's try to see how this goal can be achieved using an example. To generate classes in CSharp, I have prepared a script [GoCS.cmd][GoCS] that uses the XSD command line application (this program is available in the Visual Studio environment). This program is used to generate the classes that we previously created manually. The classes are generated automatically based on the `Catalog.xsd` schema. We should get the result in the file created manually previously. + +As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Catalog class][Catalog.cs] is generated. A consequence of generating a new program text is that all previous modifications are overwritten - a new text is generated without caring about what was there before. Hence, it is time to recall our considerations regarding partial definitions. This is an example where we could confirm that this concept is necessary when dealing with auto-generated code because it creates new content ignoring any modifications made to this file. That's why the following message at the top of the generated file warns not to change this file. + +```txt +// +// This code was generated by a tool. +... +// Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. +// +``` + +In conclusion, thanks to the application of the XML schema XML documents can be verified against additional syntax rules, and appropriate definitions in various languages may be generated, ensuring data conversion between various technologies and different programming platforms. + ## Attributes -### AttributedClass +### Profiling Development Environment + +Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of syntax errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used in the program any further. This way we try to fix an issue by preventing referencing of inadequate code instead of replacing it. In other words, there will be no further references to it in new programs. + +We may use the `Obsolete` attribute for this purpose. To observe this attribute and the effects it causes, let's open a test window and add a test method. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports a warning. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. + +This warning should make us use some other alternative solutions. Of course, we could use a regular comment instead. Unfortunately, this will cause us to lose the warning to avoid using this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for **communicating with the reader** of the program text - after all, any program is a text. On the other hand, attributes are a concept for **communicating with the compiler**. And as we will see next, not only with the compiler. -Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of syntax errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used any further. This way we try to fix an issue by preventing referencing of insufficient code instead of replacing it. In other words, there will be no further references to it in new programs. +The F12 key takes us to the definition and we see that the attribute is a class that is derived from the [Attribute][system.attribute] class. Now we can formulate a key question; whether we can define our attributes, which we may use to associate additional information with code in a declarative way to be used at run-time. -We can use an attribute for this purpose - the `Obsolete` attribute. To observe this attribute and the effects it causes, let's open a test window and add a test method. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports an warning. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. +### Attribute Definition -This warning should make us no longer use this method and should use some other alternatives instead. Of course, we could use a regular comment here. Unfortunately, this will cause us to lose the warning to avoid using this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for communicating with the reader of this text - after all, the program is a text. Attributes, on the other hand, are a mechanism for communicating with the compiler. And as we will see next, not only with the compiler. The F12 key takes us to the definition and we see that the attribute is a class that is derived from [Attribute][system.attribute]. Now we can formulate a key question; whether we can define our own attributes, which we will then use to add them to the program content and use them later in other programs. +To create a custom attribute I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the [System.Attribute][system.attribute] base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify the following things: -### CustomAttribute +- what additional information do we want to convey using it +- how the information is to be represented using types +- how to restrict the location of attribute usage -I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the [System.Attribute][system.attribute] base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify two things. The first one is what additional information we want to convey using it. And second one, with what other linguistic constructs - called targets - it makes sense to associate this additional information. +The first two tasks - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (data type selection) and adding appropriate properties (value holders) that will convey this data. In this example, it is the `Description` property, which is of type `string`. This way some descriptions expressed in natural language may be added to the target construct. Notice that also a constructor is added here, which is responsible for initializing this description when the attribute is instantiated. -The first task - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (data type selection) and adding appropriate properties (value holder) that will convey this data. In this case, it is the `Description` property, which is of type `string`. This way some descriptions expressed in natural language may be added to the target. Notice that also a constructor is added here, which is responsible for initializing this description when an object is created. +The next task of how to restrict attribute usage may be accomplished by associating an existing, dedicated attribute with a definition of a new attribute class. It is a message to the compiler. In other words, we use an existing attribute to define a new one. The [AttributeUsage][AttributeUsage] attribute is predefined by the built-in definitions of the C# programming language that allows expressing where adding a new attribute makes sense. -The second task of choosing where adding this additional information by employing attributes makes sense may be accomplished by associating an existing, dedicated attribute with a definition of a new attribute class. And here's a crucial note about terminology. I used the term attribute for both (a) to name a class that is derived from the [System.Attribute][system.attribute] base class and (b) also as an identifier that is used elsewhere and surrounded between square brackets. Maybe it sounds puzzling but it is a typical recurring reference to the joint terms. In other words, we use an existing attribute to define a new one. The [AttributeUsage][AttributeUsage] attribute is predefined by the built-in definitions of this programming language that allows expressing where adding a new attribute makes sense. +And here's a crucial note about terminology. I used the term attribute for both -Let's examine the features of the newly created [CustomAttribute][CustomAttribute] class using the unit tests [ReflectionUnitTest.CustomAttributeTest][CustomAttributeTest]. It just instantiates an object of this class traditionally using the `new` operator and then compares the value of the embedded property value with an expected one. This way we can prove that this class behaves like any other regular class. +- to name a class that is derived from the [System.Attribute][system.attribute] base class +- as an identifier that is used elsewhere and surrounded between square brackets -Keeping in mind that the newly created attribute is a class, let's try to use it to add additional information to the previously defined [AttributedClass][AttributedClass] class. So a linguistic construct appears, where between square brackets we will have the name of the class and additional data that we want to be associated with this linguistic construction, with this class. Since this is additional data, we call it meta-data; in other words, data describing data. Since in this case, the data described is a linguistic construction, there is the text of the program - the program becomes data. The question is how this data can be used throughout the processing process. Let's see this with an example of a unit test where we try to retrieve this information; and recover this data. +Maybe it sounds puzzling but it is a typical recurring reference to the joint terms. -From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a constructor call. A detailed discussion of the syntax of these linguistic constructs is beyond the scope of the example. To possibly fill in the gaps in this respect, I recommend the C# language user manual. From now on, we will only focus on the semantics, i.e. on the meaning, of these entries. +Let's examine the features of the newly created [CustomAttribute][CustomAttribute] class using the [CustomAttributeTest][CustomAttributeTest] test method. It just instantiates an object of this class traditionally using the `new` operator and then compares the value of the embedded property value with an expected one. This way we can prove that this class behaves like any other regular class. -So let's add a test method in the test class, in which the code will refer to [AttributedClass][AttributedClass] that has been associated an attribute. To refer to the type the [typeof keyword][typeof] is applied. As a result of using `typeof` an object of the `Type` type is instantiated for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of the `Type` type that will contain a reference to the object representing the [AttributedClass][AttributedClass] class definition. Notice that to avoid code cloning the test continues in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttribute` instance method. Additionally, in this case, it is specified that I am only interested in attributes of the selected type. We can then determine that I am indeed getting an array with exactly one element in it. This element is of the [CustomAttribute][CustomAttribute] type, i.e. the type we added before the class as a class attribute. +Keeping in mind that the newly created attribute is a class, let's try to use it to add additional information to the previously defined [AttributedClass][AttributedClass] class. So a linguistic construct appears, where between square brackets we will have the name of the class and additional data that we want to be associated with this class. Since this is additional data, we call it metadata; in other words, data describing data. Since in this case, the data being described is a linguistic construct, there is the text of the program - the program becomes data. The question is how this metadata may be used throughout the processing process, hence at run-time. Let's see this with an example of a unit test where we try to recover the associated data. -Therefore, we can return to the discussion about semantics, i.e. the meaning of the notation between square brackets. We see that the `GetCustomAttributes` method creates objects. Objects that are associated with selected language construct, in this case, [AttributedClass][AttributedClass] . It looks the same as if we used the `new` keyword to create an object of the [CustomAttribute][CustomAttribute] class. After creating the object it can be used as if it had been created using the `new` keyword. +From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a constructor call. Unfortunately, the detailed discussion of these linguistic constructs syntax is beyond the scope of the article. To possibly fill in a gap in this respect, I recommend the C# language user manual. To make the discursion generic, from now on, we will only focus on the semantics, i.e. on the meaning, of these entries. -So, once again, back to the heart of the topic. We can ask what role this linguistic construct plays. I mean where the class name is placed between square brackets. A class that is an attribute, i.e. a class that is a derived from the [System.Attribute][system.attribute] class. We see that the main purpose of this construct is to describe the instantiation of an object, and therefore answers the question of how to create an object. This way we can conclude that it is equivalent to the constructor call, which is typically placed after the `new` operator. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. +### Attribute Use Based Directly on Type Definition -### Attribute Access Based Directly on the Type Definition +So let's add a test method [AttributedClassTypeTest][AttributedClassTypeTest] in a test class, in which the code will refer to [AttributedClass][AttributedClass] that has been associated with an attribute. To refer to the type the [typeof][typeof] keyword is applied. As a result of using [typeof][typeof] an object of the [Type][system.type] type is instantiated for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of the [Type][system.type] type that will contain a reference to the object representing the [AttributedClass][AttributedClass] class definition. Notice that to avoid code cloning the main test functionality is gathered in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttributes` instance method. Additionally, in this case, it is specified that we are only interested in attributes of the selected type. We can then determine that there is returned an array with exactly one element in it. This element is of the [CustomAttribute][CustomAttribute] type, i.e. the type we associated with the class as a class attribute. -Let's first go back to the [AttributedClass][AttributedClass] example. This class is preceded by a custom attribute, which is defined below this class. In unit test, we have the [AttributedClassTypeTest][AttributedClassTypeTest] test method that proved how to retrieve features of the definitions of this type by creating an instance of the `Type` type. I moved the main testing stuff to the [GoTest][GoTest] method to reuse this functionality without code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (instances of classes derived from the [System.Attribute][system.attribute] base type) that are created as a result of the `GetCustomAttributes` operation. In this approach the identifier of the type definition is directly used. In this code snipped, the `typeof` is an operator, which is used to instantiate an object that represents a metadata of a type, utilizing the identifier of an attribute type definition. The argument to the `typeof` operator must be the name of a type definition. +Therefore, we can return to the discussion about semantics, i.e. the meaning of the notation between square brackets. We see that the `GetCustomAttributes` method creates objects. Objects that are associated with selected language construct, in this case, [AttributedClass][AttributedClass]. It looks the same as if we used the `new` keyword to create an object of the [CustomAttribute][CustomAttribute] class. After creating the object it can be used as if it had been created using the `new` keyword. -### Attribute Access Based on the object type +So, once again, back to the heart of the topic. We can ask what role this linguistic construct plays - where the class name is placed between square brackets. This class has to be an attribute, i.e. a class that is derived from the [System.Attribute][system.attribute] class. We see that the main purpose of this construct is to describe the instantiation of an object, and therefore answers the question of how to create an object. This way we can conclude that it is equivalent to the constructor call, which is typically placed after the `new` operator. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. -In the example [AttributedClassTypeTest][AttributedClassTypeTest] mentioned above, there is a weak point.Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms in such a way that we do not have to refer to the type definitions because we simply do not know them. In general, the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal with objects whose types we do not know. +The [AttributedClass][AttributedClass] class is preceded by the [CustomAttribute][CustomAttribute]. In the unit test, we have the [AttributedClassTypeTest][AttributedClassTypeTest] test method, which proves how to retrieve features of the definitions of this type by creating an instance of the [Type][system.type] type. The main testing stuff has been aggregated in the [GoTest][GoTest] method to reuse this functionality and avoid code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (instances of classes derived from the [System.Attribute][system.attribute] base type) that are created as a result of the `GetCustomAttributes` operation. In this approach, the identifier of the type definition is directly used. In this code snippet, the [typeof][typeof] is an operator, which is used to instantiate an object that represents metadata of a type, utilizing the identifier of an attribute type definition. The argument to the [typeof][typeof] operator must be the name of a type definition. + +### Attribute Use Based Indirectly on Type Instance + +In the above example [AttributedClassTypeTest][AttributedClassTypeTest] there is a weak point. Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms in such a way that we do not have to refer directly to the type definitions because we simply do not know them. In general, we must assume that the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal with objects whose types we do not know. To prepare an example that resembles the above scenario, I have added the [Siyova16][Siyova16] class with all identifiers created randomly by a password generator. The main idea of creating a random definition is to give the impression and stress that there is no need to refer directly to them while implementing the required functionality. To create a generic solution the reality is that we need to be prepared for a situation where referencing identifiers directly is impossible. The reflection can be applied to both cases, so we can investigate it using a simplified case. -To continue building an example in which we will show how to operate on objects of unknown types, I have inserted the [ObjectFactory][ObjectFactory] class, which task is to create such objects. Precisely, the objects are of different types, but they have one thing in common, namely they are preceded by the same [CustomAttribute][CustomAttribute] attribute. The [AttributedClassInstanceTest][AttributedClassTypeTest] test shows that it is possible to detect this feature without referring to identifiers associated with the object type. For this purpose, objects of various types are created using the dedicated [ObjectFactory][ObjectFactory] class. Regardless of the object type, the same [GoTest][GoTest] test method is performed, which checks the presence of the selected attribute. For this purpose, an enumeration type is defined in this class, in which the values are also random. It is worth stressing that there is no direct relationship between the enum identifier and the identifier of instantiated type. +To continue building an example in which we will show how to operate on objects of unknown types, I have inserted the [ObjectFactory][ObjectFactory] class. The main task of this class is to create objects of random type. Precisely, the objects are only of different types, but they have one thing in common, namely they are preceded by the same [CustomAttribute][CustomAttribute] attribute. The [AttributedClassInstanceTest][AttributedClassInstanceTest] test shows that it is possible to detect this feature without referring to identifiers associated with the object type. For this purpose, it mimics the creation of objects of various types using the dedicated [ObjectFactory][ObjectFactory] class. Regardless of the object type, the same [GoTest][GoTest] test method is performed, which checks the presence of the selected attribute. For this purpose, an enumeration type is defined in this class, in which the values are also random. It is worth stressing that there is no direct relationship between the enum identifier and the identifier of the instantiated type. -The [ObjectFactory][ObjectFactory] method is responsible for creating objects of various types. Because it creates objects of different not related to each other types, the return value must be of the `object` type, which allows returning object of any type. Therefore, after calling [ObjectFactory][ObjectFactory] we don't really know the type of the returned instance. Hiding the type of the created object is intended to mimic operation on unknown types. Of course, this is just a simulation for this example. I want to emphasize that the tests are solely used to demonstrate certain features and the possibility of using reflection for serialization/deserialization. +The [ObjectFactory][ObjectFactory] method is responsible for creating objects of various types. Because it creates objects of different not related to each other types, the return value must be of the `object` type, which allows returning objects of any type. Therefore, after calling [ObjectFactory][ObjectFactory] we don't know the type of the returned instance. Hiding the type of the created objects is intended to mimic operation on unknown types. Of course, this is just a simulation for this particular example to make the example as simple as possible. I want to emphasize that the tests are solely used to demonstrate certain features and the possibility of using reflection for serialization/deserialization. -To show how to operate on objects without referring directly to their type definitions we can recover the features of the instantiated types. Check out the example from the [AttributedClassInstanceTest][AttributedClassInstanceTest] test method. Once again, it instantiates a variety of types having the same feature and executes test against this feature. +To show how to operate on objects without referring directly to their type definitions we have to recover the features of types from their instances. To follow up, check out the example from the [AttributedClassInstanceTest][AttributedClassInstanceTest] test method. Once again, the test method instantiates a variety of types having the same feature and executes a test against this feature. -Now the question is: how to achieve a similar situation as before, i.e. how to recover the features of an object type without knowing the type. We already know that this can be done by creating a `Type` instance for the selected type definition using the `typeof` keyword and the type identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the `System.Object` type comes in handy. Let me remind you that this operation is inherited from the base type `Object`. It is a very basic type for all types. So in our case, reflection starts when an instance of `Type` is created. This instance can be created for a selected type definition and for a selected object without knowing its type. It should be emphasized here that based on this example, we can conclude that reflection is related even to the `Object` base type. +How to recover the features of a type referring directly to this type we already know. This can be done by creating a [Type][system.type] instance for the selected type definition using the [typeof][typeof] keyword and an identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the [Object][Object] type comes in handy. Let me remind you that this operation is inherited from the [Object][Object] base class. It is the ultimate base class of all .NET classes; it is the root of the type hierarchy. So in our case, reflection starts when an instance of [Type][system.type] is created using the `GetType` method. It should be emphasized here that based on this example, we can conclude that reflection is related even to the [Object][Object] base type. -To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][system.type] abstract type, which holds a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the `typeof` keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest] to avoid text cloning. +### Summary + +To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][system.type] abstract type, which holds a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the [typeof][typeof] keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest] to avoid text cloning. ## Managing an Object State ### Preface -There is one more issue to discuss, namely how to mange the state of an object, i.e. reading and writing values to its members without directly referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to a property defined as a member of a type. +To implement serialization/deserialization there is one more issue to discuss, namely how to mange the state of an object, i.e. reading and writing values to its members without directly referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to a property defined as a member of a type. -### Self Controlled +### Self Controlled Object State -The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to remember it. The constructor of this class initializes the initial values of this class when the object is created. +The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression executed against values stored locally. This example shows that to recreate an object of this class, we only need to transform only two values because the third one is always calculated, so there is no need to remember it in the bitstream. The constructor of this class initializes the initial values of this class when the object is created. -To transform an instance of this class (to serialize it), first, an attribute has to be associated with this class that will indicate that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. We already know a condition that must be fulfilled thanks to these values. Theoretically, it enables the selection of them. The question is how to do it. +To transform an instance of this class (to serialize it), first, an attribute has to be associated with this class that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. We already know a condition that must be fulfilled thanks to these values. Theoretically, it enables the selection of them. The question is how to do it. -The first approach to selecting values contributing to the object state is to have built-in functionality allowing the selection of values that contribute to the state of the object. It means moving this responsibility to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. +The first approach to selecting values contributing to the object state is to have built-in functionality allowing the selection of appropriate values. It means moving this responsibility to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. -In this test class, we create an object of the class that is to be serialized. In the next step, we must have a class in a library that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a stream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to its content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. +In this test class, we create an object of the class that is to be serialized. In the next step, we must have a library class that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to manually examine its content. -But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. The `Formatter` class is defined in the language library and it implements many operations to avoid cloning code and to provide the same functionality over and over. Using this type to implement serialization it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and use custom functionality allowing to select and read values that contribute to the object state. Thanks to this, we can retrieve them from this object using the `GetObjectData` operation. As a result of this operation, we will have access to all values. We can perform serialization operations for all values. So we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, we have operations related to creating an XML document and saving this document to a file. +But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and it implements many operations to avoid cloning code and to provide the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and use custom functionality allowing to read values that contribute to the object state. Thanks to this, we can retrieve them from this object using the `GetObjectData` operation. -Using this approach to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical pragmatical means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. +Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical pragmatical means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. -It is worth emphasizing that in our example we only write `double` values and it si a reason that only the `WriteDouble` method has been implemented. It creates an instance of `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but we assume here that it must implement the `ISerializable` interface, and therefore must provide an implementation of the `GetObjectData` operation method. +It is worth emphasizing that in our example we only write `double` values and it is a reason that only the `WriteDouble` method has been implemented. It creates an instance of `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but we assume here that it must implement the `ISerializable` interface, and therefore must provide an implementation of the `GetObjectData` operation method. -### Reflection-based Read - Write +### Reflection-base Object State To prepare this example, let's use a previously defined class [Siyova16][Siyova16] that has a random name and several properties defined. All the members names are also random. The main goal of using a random definition is to explain how to deal with invisible types. @@ -189,9 +223,9 @@ In the test project, the `ReflectionUnitTest` test class includes the [AttachedP In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a target object of type [Siyova16][Siyova16] that is to be controlled. It is worth emphasizing that creating the target object is redundant here because, in a real scenario, we should assume that the object is already created elsewhere. In the next step, a surrogate object as a wrapper of the target object is created. The surrogate object functionality is to enable reading and writing to the selected property from the target object without referring to the type of the target object. The expected behavior of the wrapper class is that the `Value` property can be assigned to and read from. These values are transferred transparently to and from the target object that is passed to it as an actual parameter of the constructor. -The functionality enabling the possibility to manage a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled "Information Computation". The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target typeof the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the `Type` type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. +The functionality enabling the possibility to get access to a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] . The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target typeof the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the [Type][system.type] type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. -### ✍🏻 Reflection-base serialization +### ✍🏻 Reflection-base Object State Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. @@ -203,22 +237,6 @@ As an example of reflection based data values access is the [Catalog][Catalog] c Let me stress again that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties without directly referencing the type definition. Additionally, in general, they don't have to be properties. -## Standardization - generating classes based on schema definition - -To generate classes in CSharp; I have prepared a script [GoCS.cmd][GoCS] that uses the XSD program (this program is available in the Visual Studio environment). Try to use this program to generate the classes that we previously created manually. The classes are generated automatically based on the `Catalog.xsd` schema. We should get the result in the file created manually previously. - -As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Catalog][Catalog] class is generated. A consequence of generating a new program text is that all previous modification are overwritten. They disappeared, they are overwritten because a new text is generated without caring about what was there before. Hence, it is time to recall our considerations regarding partial definitions. This is an example where we could confirm that this concept is necessary when dealing with auto-generated code because auto-generated code will always ignore any modifications we make to this file. That's why the following message at the top of the generated fi;le warns not to change this file. - -```txt -// -// This code was generated by a tool. -... -// Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. -// -``` - -Thanks to the use of schema XML, we also showed how documents can be verified and how document syntax can be saved using a schema and thus automatically generate program text in various languages, ensuring data conversion between various technologies; and between different programming platforms. - ## Bitstream protection ### Hash @@ -240,6 +258,7 @@ Thanks to the use of schema XML, we also showed how documents can be verified an [system.attribute]: https://learn.microsoft.com/dotnet/api/system.attribute [AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute +[udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [FileExample]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 [AttachedProperty]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 @@ -262,6 +281,7 @@ Thanks to the use of schema XML, we also showed how documents can be verified an [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter [SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 [Catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +[Catalog.cs]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 [ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 [IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 @@ -270,3 +290,5 @@ Thanks to the use of schema XML, we also showed how documents can be verified an [GoCS]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 [catalogexamplexml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 + +[Object]: https://learn.microsoft.com/dotnet/api/system.object From 5f5edaac7dfcc61468f1da297839679ea1748e30 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 8 Jan 2024 11:31:36 +0100 Subject: [PATCH 16/67] ExDM Add documentation to the selected parts of the code #369 - working on the README.md file --- ExDataManagement/DataStreams/README.md | 130 ++++++++++++++----------- ExDataManagement/README.md | 87 ++++++++--------- 2 files changed, 115 insertions(+), 102 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 51bbed12..692558ea 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -11,28 +11,31 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams Preface +# Data Streams -- [Data Streams Preface](#data-streams-preface) +- [Data Streams](#data-streams) - [Key words](#key-words) - [Introduction](#introduction) - - [File concept](#file-concept) + - [File and Stream Concepts](#file-and-stream-concepts) + - [Introduction](#introduction-1) + - [BitStream Format](#bitstream-format) + - [XML Format](#xml-format) + - [Introduction](#introduction-2) + - [Catalog XML](#catalog-xml) + - [Standardization of the output stream](#standardization-of-the-output-stream) + - [Attributes](#attributes) + - [BitStream Protection](#bitstream-protection) - [Serialization](#serialization) - [Fundamentals](#fundamentals) - [Useful Technologies](#useful-technologies) - [Validation](#validation) - [Visualization](#visualization) - [Reflection](#reflection) - - [Attributes](#attributes) + - [Attributes](#attributes-1) - [Main Technology Features](#main-technology-features) - [Access to Object State Values](#access-to-object-state-values) - [Self Controlled](#self-controlled) - [Reflection-based](#reflection-based) - - [BitStream Format](#bitstream-format) - - [XML Format](#xml-format) - - [Introduction](#introduction-1) - - [Catalog XML](#catalog-xml) - - [Standardization of the output stream](#standardization-of-the-output-stream) - [Graph of Objects Serialization](#graph-of-objects-serialization) - [Reflection-Based Serialization Example](#reflection-based-serialization-example) - [SerializationUnitTest](#serializationunittest) @@ -48,9 +51,11 @@ This folder `ExDataManagement\DataStreams` directly or indirectly contains examp If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and finally a Pendrive. -## File concept +## File and Stream Concepts + +### Introduction -This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. The second one indicates the location where the file can be found by the file system engine. We also have other metadata such as date of creation, author, length, and many others. +This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locators(URL). We also have other metadata such as date of creation, author, length, and many others. An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to to take part in processing. @@ -60,8 +65,60 @@ Let's start with the fact that typically we utilize object-oriented programming. On the other hand, as we mentioned already, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element. +### BitStream Format + +> DSL +> XML Format +> JSON Format +> YAML Format + +#### XML Format + +In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document. + +#### Introduction + +An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user. + +We also completely ignored the operation of graphs, i.e. a set of objects connected by references. + +Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program. + +#### Catalog XML + +Let's go back to the XML file and the question of how to visualize data for a user, for a human. It was stated that an XML file is text, namely a bitstream for which the encoding is defined. It allows to employ of any text editor. Unfortunately, if a file is formatted this way and is seen by persons, who are not familiar with XML technology, it won't be easy to associate any information with the text. + +To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows a transfer of XML text to any other text by adding this additional line in the XML file [catalog.example.xml][catalog]: + +``` XML + +``` + +This XML declaration defines an additional document [Catalog.xslt][catalogxslt]. The [Catalog.xslt][catalogxslt] is a stylesheet document and it contains a detailed description that allows to convert the source XML document into an HTML document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document + +Finally, a few notes related to XML stylesheet transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. Shortly, thanks to the transformation of XML files using stylesheet it is possible to add formatting to the data contained in the XML bitstream. + +#### Standardization of the output stream + +If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. Since we recognize the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the XML schema and then create classes based on the XML schema? But let's try to see how this can be achieved using an example. + +_________________________________ + +When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. + +However, the same data can be used by the same program but not the same program instance, we also have to take into account that the programs may be in different versions. In such a case, there is a problem of data compatibility between different versions of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allow the creation of a graph equivalent to the original graph. + +Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. + +## Attributes + +## BitStream Protection + ## Serialization +> Standardization +> Data Transfer Object + ### Fundamentals And here the first problem arises, namely the question of how to combine these two worlds. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. @@ -72,9 +129,9 @@ So the first problem we have is how to implement serialization and deserializati If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to define one more problem. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. -Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my opinion is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to design or build a custom washing machine, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. +Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to design or build a custom washing machine, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. -So let's summarize this discussion. To simultaneously use object-oriented programming and save data as a bitstream, our programming goal must be to combine two worlds. First, in which the data is in object form. The second world is data in the form of bitstreams. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. +In summary, to simultaneously use object-oriented programming and save data as a bitstream, our goal must be to combine two worlds. First, in which the data is in object form. The second world is data in the form of bitstreams. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. > To learn more about the serialization visit the document: [Serialization in .NET][STLZTN]. @@ -84,11 +141,13 @@ So let's summarize this discussion. To simultaneously use object-oriented progra If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. -To better understand these issues, let's look at them in the context of code examples. Maybe we will also be able to determine solutions that may be useful in this regard. +To better understand these issues, let's look at them in the context of code examples. + +~~Maybe we will also be able to determine solutions that may be useful in this regard.~~ _________________ -Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitreams are also modified by other applications or directly by users, because data corruption may occur. +Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. Therefore, instead of XML schema to validate XML files, we may use an equivalent set of classes. @@ -98,10 +157,9 @@ You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML First of all, we need to deal with data visualization, so as to enable the use of streams also by a human computer user. Let's start with data visualization, taking into account, firstly, natural language, ergonomics, and graphical user interface. - We also talked about the human use of streams. In this case, further requirements appear. Among other things, this representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is. -_______________________________ +_________________ One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? @@ -201,45 +259,7 @@ Reflection-based serialization is a technique in software engineering where the To serialize objects of this class we use reflection and attributed programming. An example is described in the section -### BitStream Format - -#### XML Format - -In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document. - -#### Introduction - -An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user. - -We also completely ignored the operation of graphs, i.e. a set of objects connected by references. - -Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program. - -#### Catalog XML -Let's go back to the XML file and the question of how to visualize data for a user, for a human. It was stated that an XML file is text, namely a bitstream for which the encoding is defined. It allows to employ of any text editor. Unfortunately, if a file is formatted this way and is seen by persons, who are not familiar with XML technology, it won't be easy to associate any information with the text. - -To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows a transfer of XML text to any other text by adding this additional line in the XML file [catalog.example.xml][catalog]: - -``` XML - -``` - -This XML declaration defines an additional document [Catalog.xslt][catalogxslt]. The [Catalog.xslt][catalogxslt] is a stylesheet document and it contains a detailed description that allows to convert the source XML document into an HTML document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document - -Finally, a few notes related to XML stylesheet transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. Shortly, thanks to the transformation of XML files using stylesheet it is possible to add formatting to the data contained in the XML bitstream. - -#### Standardization of the output stream - -If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. Since we recognize the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the XML schema and then create classes based on the XML schema? But let's try to see how this can be achieved using an example. - -_________________________________ - -When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. - -However, the same data can be used by the same program but not the same program instance, we also have to take into account that the programs may be in different versions. In such a case, there is a problem of data compatibility between different versions of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allow the creation of a graph equivalent to the original graph. - -Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. ### Graph of Objects Serialization diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index 65c6c024..33ad8e4e 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -1,67 +1,60 @@ # External Data Management (ExDM) +- [External Data Management (ExDM)](#external-data-management-exdm) + - [Key words](#key-words) + - [Introduction](#introduction) + - [External Data](#external-data) + - [Data Management and Access](#data-management-and-access) + - [Conclusion](#conclusion) + - [See also](#see-also) + ## Key words -software engineering, education, learning, external data, data management, information processing, data processing, serialization, SQL, LINQ, XAML, GUI +software engineering, education, learning, external data, data management, streaming data, structural data, graphical data ## Introduction -### Subject +Computer science in general, and especially software engineering, is a field of knowledge that deals with the automation of information processing. Programs can be recognized as a driving force of that automated behavior. To achieve information processing goals programs have to implement algorithms required by applications. In other words, the programs describe how to process data, which represents information relevant to the applications in concern. Apart from the implementation of the algorithms, therefore, data management is a key issue from the point of view of automation of information processing in particular and computer science in general. -Computer science in general, and especially software engineering, is a field of knowledge that deals with the automation of information processing. Programs can be recognized as a driving force of that automated behavior. To achieve information processing goals programs have to implement algorithms required by the application. In other words, the programs describe how to process data, which represents information relevant to the application. Apart from the implementation of the algorithms, therefore, data management is a key issue from the point of view of automation of information processing in particular and computer science in general. Let's review selected language constructs, design patterns, and frameworks targeting external data management by a program. +The main aim, of the collected code snippets in this section, is to extend knowledge and improve skills related to object-oriented programming focusing on interoperability between the computing process and data visualization, archiving, and networking resources. Particular emphasis is placed on the identification of solutions that can serve as a certain design pattern with the widest possible use in the long run. -### Goal +Providing solutions valid for a long-term horizon is extremely difficult for such a dynamically developing field. Here, the experience of the author comes to the rescue. -The main aim, of the collected code snippets in this folder, is to extend knowledge and improve skills related to object-oriented programming focusing on interoperability between the computing process and data visualization, archiving, and networking resources. Particular emphasis is placed on the identification of solutions that can serve as a certain design pattern with the widest possible use in the long run. Providing solutions valid for a long-term horizon is extremely difficult for such a dynamically developing field. Here, the experience of the author comes to the rescue, who has been employing similar solutions for years using constantly changing programming tools. +To ensure a practical context of the discussion and provide sound examples, all topics are illustrated using the C\# programming language and the Visual Studio design environment. The source code used is available in the GitHub repository. Check it out from the See Also section. I believe that the proposed principles, design patterns, and scenarios are generic and may be seamlessly ported to other environments, including but not limited to different programming languages. The language and tools mentioned above have been used only to embed the discussion in a particular environment and to ensure that the examples are compliant with the programming in practice principles. -To ensure the practical context of the discussion and provide sound examples, all topics are illustrated using the C\# language and the MS Visual Studio design environment. The source code used during the course is available in this repository. I believe that the proposed principles, design patterns, and scenarios are generic and may be seamlessly ported to other environments. The language and tools mentioned above have been used only to embed the discussion in a particular environment and to ensure that the course is very practical. +## External Data -The course discusses solutions for practical scenarios regarding various aspects of external process data management. In general, the external data may be grouped as follows: +The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. In general, the external data may be grouped as follows: - **streaming** - bitstreams managed using content of files, or network payload - **structural** - data fetched/pushed from/to external database management systems using queries - **graphical** - data rendered on Graphical User Interface (GUI) -The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. - -## Scope - -In the `ExDataManagement` folder, the code snippets are scoped to provide sound examples covering the following topics: - -- Section 1 - Introduction - - Lesson 01 - Executive Summary - - About the course, information versus data, algorithm versus program, type - what does it mean - - Useful assets: C\# language, Visual Studio, GitHub - - Lesson 02 - Data semantics - - Type concept - - Anonymous type - - Partial types and methods - - Generics -- Section 2 - Data streams - - Lesson 03 - File and Stream Concepts - - Lesson 04 - Attributes - - Lesson 05 - Reflection - - Lesson 06 - Serialization - - Lesson 07 - Cryptography basics -- Section 3 - Structural Data](#3-section-3---structural-data) - - Lesson 08 - Anonymous function and lambda expression - - Lesson 09 - Extension method - - Lesson 10 - LINQ query and methods syntax - - Lesson 11 - LINQ to object - - Lesson 12 - LINQ to SQL -- Section 4 - Graphical data - - Lesson 13 - Graphical data (Part 1) - - [xaml](https://docs.microsoft.com/dotnet/framework/xaml-services/) - - Lesson 14 - Graphical data (Part 2) - - MVVM (Model, View, ViewModel) design pattern -- Section 5 - Summary - - Lesson 15 - Conclusion - -> **NOTE**: Unit Test role is solely code explanation rather than testing the correctness of it. - -## Lesson 15 - Conclusion - -TBD +## Data Management and Access + +Data management involves the organization, storage, retrieval, communication, and manipulation of data to ensure its accuracy, security, and accessibility. It encompasses processes like data collection, storage architecture, data integration, and maintenance to support efficient analysis and decision-making. + +Referring to previously mentioned data kinds we need examples related to: + +- **Streaming**: files management, bitstreams format, interoperability, cybersecurity of bitstreams, serialization +- **Structural**: queries compositions, queries execution, database interoperability +- **Graphical**: data rendering, data entering, events handling + +**files management**: files management functionality involves the organization, manipulation, and control of files as entities of a distributed file system. It includes tasks such as creating, opening, closing, reading, writing, deleting, and organizing files using dedicated containers, for example, directories. Key aspects of file management functionality include content protection against malicious users and metadata maintenance. + +**bitstreams format**: using bitstreams (file content) we must face a problem with how to make bitstreams human readable. The first answer is that it must be compliant and coupled with a well-known application. The application opens this bitstream as input data and exposes it to the user employing appropriate means to make the data comprehensible. Unfortunately, this approach does not apply to custom data. Therefore we should consider another approach, namely human-readable representation should be close to natural language. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text an encoding must be associated directly or indirectly. The next requirement, common for both humans and computers, is that a bitstream must be associated with comprehensible syntax rules. Finally, semantics rules should be associated with the bitstream that allows to assigning of meaning to bitstreams. Shortly there have to be defined a text-based language. A domain-specific language (DSL) is a text-based language dedicated to expressing concepts and data within a specific area. Except for programming languages like Java, C#, and Python, examples of well-known and widely accepted domain-specific languages are JSON, XML, and YAML formats to name only the most crucial. + +**interoperability**: a Data Transfer Object (DTO) is a simple, lightweight data object that transfers data between software applications. DTOs are often employed to encapsulate and transport data between different system parts, such as between a client and a server to reduce network overhead. Hence, DTO is just a bitstream formatted to make applications interoperable. They typically contain only data and no business logic implementation, making them straightforward for data exchange, and to be transferred over a network as a payload of the selected protocol stack. + +**cybersecurity of bitstreams**: bitstream cybersecurity involves protecting the integrity, non-repudiation, and confidentiality of bitstreams. To ensure bitstream integrity all its users should be able to verify that the stream is not modified while it is being archived or transmitted. Non-repudiation refers to the ability to prove the origin or authorship of a bitstream. In turn, confidentiality refers to the protection of associated information from unauthorized access or disclosure. Bitstreams cybersecurity focuses on preventing unauthorized access, tampering, or reverse engineering of these bitstreams to safeguard the functionality and security of computer systems. From the programming in practice point of view, cybersecurity addresses the implementation of a hash function, digital signature, and encryption. + +**Database queries**: are commands or requests made to a database management system (DBMS) to retrieve, manipulate, or manage data stored in a database. These queries are typically written in a domain-specific language, such as SQL (Structured Query Language). The purpose of a database query is to interact with the database and perform operations like connecting, selecting specific data, updating records, inserting new data, or deleting information. A typical database query is a text that consists of statements that specify the conditions and criteria for the data retrieval or manipulation. + +**graphical user interface (GUI)**: GUI is a type of user interface that allows users to interact with electronic devices or software applications through graphical elements such as icons, buttons, windows, and menus. To handle GUI functionality allowing data rendering, data entering, and events handling is required. Data rendering refers to the process of converting raw data into a visual or presentable format for users to comprehend. Key aspects of GUI handling include converting raw data into a format suitable for further processing and adapting the presentation of data to different screen sizes or devices to ensure a consistent and effective user experience. GUIs provide a visual way for users to interact with a system, making it more intuitive and user-friendly compared to text-based interfaces. + +## Conclusion + +This section and subsections address examples of practical scenarios regarding various aspects of external data management. ## See also From a676633a2faa5ccc52aa5bbd922ce98fb8d93f71 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 15 Jan 2024 13:42:04 +0100 Subject: [PATCH 17/67] ExDM Add documentation to the selected parts of the code #369 - working on the ExDataManagement/DataStreams - backup commit --- .../DataStreams/DataStreams/README.md | 2 + ExDataManagement/DataStreams/README.md | 303 +++++++++++------- .../DataStreams/READMECryptography.md | 2 +- 3 files changed, 198 insertions(+), 109 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 67af46f6..03ceb66a 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -86,6 +86,8 @@ After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] i ``` +This XML declaration defines an additional document that is a stylesheet document and it contains a detailed description that allows to convert the source XML document into other text-based document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document + ### XML-based Validation If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstream correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by the possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 692558ea..d17647a0 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -16,23 +16,38 @@ - [Data Streams](#data-streams) - [Key words](#key-words) - [Introduction](#introduction) - - [File and Stream Concepts](#file-and-stream-concepts) + - [File and Stream Concepts Preface](#file-and-stream-concepts-preface) + - [Useful Technologies](#useful-technologies) - [Introduction](#introduction-1) - - [BitStream Format](#bitstream-format) - - [XML Format](#xml-format) + - [Data Presentation](#data-presentation) + - [Validation](#validation) + - [Standardization](#standardization) + - [BitStream Format](#bitstream-format) + - [Domain Specific Language](#domain-specific-language) + - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) - [Introduction](#introduction-2) - - [Catalog XML](#catalog-xml) - - [Standardization of the output stream](#standardization-of-the-output-stream) - - [Attributes](#attributes) - - [BitStream Protection](#bitstream-protection) + - [Visualization](#visualization) + - [Validation](#validation-1) + - [Standardization](#standardization-1) + - [JavaScript Object Notation (JSON) TBD](#javascript-object-notation-json-tbd) + - [Introduction](#introduction-3) + - [TBD](#tbd) + - [Visualization](#visualization-1) + - [TBD](#tbd-1) + - [Validation](#validation-2) + - [Standardization](#standardization-2) + - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) + - [Introduction](#introduction-4) + - [Visualization](#visualization-2) + - [Validation](#validation-3) + - [BitStream Cybersecurity](#bitstream-cybersecurity) + - [TBD](#tbd-2) - [Serialization](#serialization) - [Fundamentals](#fundamentals) - - [Useful Technologies](#useful-technologies) - - [Validation](#validation) - - [Visualization](#visualization) + - [Implementation](#implementation) + - [Preface](#preface) + - [Attributes](#attributes) - [Reflection](#reflection) - - [Attributes](#attributes-1) - - [Main Technology Features](#main-technology-features) - [Access to Object State Values](#access-to-object-state-values) - [Self Controlled](#self-controlled) - [Reflection-based](#reflection-based) @@ -47,187 +62,254 @@ Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transfo ## Introduction -This folder `ExDataManagement\DataStreams` directly or indirectly contains examples related to information representation as a bitstream and is devoted to discussing selected programming issues related to their management. +This folder `ExDataManagement\DataStreams` contains examples related to information representation as a bitstream and is devoted to discussing selected programming issues related to their management. + +If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and Pendrive to name only the most popular ones. + +## File and Stream Concepts Preface + +This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. -If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and finally a Pendrive. +An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to take part in processing. -## File and Stream Concepts +Hopefully, everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. + +Let's start with the fact that typically we utilize object-oriented programming. This means that at runtime we must deal with objects that are located in the working memory (RAM) of a computer. Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Let me stress we are talking about freedom but not probability. It means that again the RAM address play the role of URL. Therefore, object data can be organized into structures and linked by references. + +On the other hand, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element but not a correlated element. + +## Useful Technologies ### Introduction -This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locators(URL). We also have other metadata such as date of creation, author, length, and many others. +To use computers for automation of information processing we have to manage bitstreams as the information representation. Bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure its accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill this functionality a set of technologies could make a real relief, namely presentation, validation, and standardization. -An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to to take part in processing. +### Data Presentation -Hopefully, everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. +Data presentation is implemented by various ways of conveying information, including textual and tabular formats. Hence, first of all, we need to deal with data presentation, so as to enable the use of bitstreams also by a human computer user. In this context we must take into account the following terms: natural language, ergonomics, and graphical user interface. -Let's start with the fact that typically we utilize object-oriented programming. This means that at runtime we must deal with objects that are located in the working memory (RAM) of a computer. Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Therefore, object data can be organized into structures and linked by references. +A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? -On the other hand, as we mentioned already, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element. +From the above we can derive that the bitstream should be formatted in a way to resemble a natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. -### BitStream Format +~~In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is.~~ -> DSL -> XML Format -> JSON Format -> YAML Format +### Validation -#### XML Format +Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. -In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document. +If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. -#### Introduction +Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. -An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user. +To better understand above mentioned topics, let's look at them in the context of code examples located in the section [XML-based Validation][xml-based-validation]. In this section XML examples are subject for more detailed examination. -We also completely ignored the operation of graphs, i.e. a set of objects connected by references. +~~Maybe we will also be able to determine solutions that may be useful in this regard.~~ -Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program. +### Standardization -#### Catalog XML +When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. -Let's go back to the XML file and the question of how to visualize data for a user, for a human. It was stated that an XML file is text, namely a bitstream for which the encoding is defined. It allows to employ of any text editor. Unfortunately, if a file is formatted this way and is seen by persons, who are not familiar with XML technology, it won't be easy to associate any information with the text. +If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. In the context of a text document, a schema may be used. The schema in this context refers to the structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying , schema allows to define additional syntax rules doe a domain specific language. Schemas help ensure consistency and coherence in the representation of information within the text document. It means that schema definition could be also a foundation of semantics rules used to assign meaning to the document text. As a result we could recognize the schema as a good idea to validate text documents, and check whether incoming text is a document we expect. -To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows a transfer of XML text to any other text by adding this additional line in the XML file [catalog.example.xml][catalog]: +Because the data may be used by different instances of a program, we also have to take into account that the programs may be in different versions or written using different languages. What worse, the data also must be subject of versioning. In such a case, there is a problem of data compatibility between independent instances of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allows the creation of a graph equivalent to the original graph -``` XML - -``` +Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. -This XML declaration defines an additional document [Catalog.xslt][catalogxslt]. The [Catalog.xslt][catalogxslt] is a stylesheet document and it contains a detailed description that allows to convert the source XML document into an HTML document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document +If schema definition is expressed in a widely accepted format it should be possible to generate types in selected programming language based on this schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the schema and then create classes based on the schema definition? But let's try to see how this can be achieved using an example. -Finally, a few notes related to XML stylesheet transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. Shortly, thanks to the transformation of XML files using stylesheet it is possible to add formatting to the data contained in the XML bitstream. +## BitStream Format -#### Standardization of the output stream +### Domain Specific Language -If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. Since we recognize the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the XML schema and then create classes based on the XML schema? But let's try to see how this can be achieved using an example. +Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. The first answer is that it must be compliant and coupled with a well-known application. The application opens this bitstream as input data and exposes it to the user employing appropriate means to make the data comprehensible. -_________________________________ +Unfortunately, this approach does not apply to custom data. Therefore we should consider another approach, namely human-readable representation should be close to natural language. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text an encoding must be associated by default, directly or indirectly. The next requirement, common for both humans and computers, is that a bitstream must be associated with comprehensible syntax rules. Finally, semantics rules should be associated with the bitstream that allows to assigning of meaning to bitstreams. Shortly there have to be defined a text-based language. A domain-specific language (DSL) is a text-based language dedicated to expressing concepts and data within a specific area. Except for programming languages like Java, C#, and Python, examples of well-known and widely accepted domain-specific languages are XML, JSON, and YAML formats to name only the most crucial. -When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. +Using DSL to describe the bitstreams a Data Transfer Object (DTO) concept can be used as a foundation to encapsulate and transport data between applications. It may be a text document that contains fields to store data. -However, the same data can be used by the same program but not the same program instance, we also have to take into account that the programs may be in different versions. In such a case, there is a problem of data compatibility between different versions of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allow the creation of a graph equivalent to the original graph. +To use DTO in a multi-vendor environment to transfer data between instances of different programs the standardization of the syntax and semantics rules is vital. Additionally possibility to use well defined and widely accepted schema documents is a key feature to establish interoperability. -Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. +### Extensible Markup Language (XML) Format -## Attributes +#### Introduction -## BitStream Protection +Extensible Markup Language (XML) is a standard text-based format for representing structured data in machine-readable form. Because it is founded based on the text it could also be recognized as human-readable. Its simplicity and flexibility make it suitable for representing a wide range of data formats. -## Serialization +It consists of markup tags that define elements within a document. Each element can have attributes and contain nested elements, forming a hierarchical structure. The basic syntax involves opening and closing tags to encapsulate data. Attributes provide additional data in context of the opening tag. -> Standardization -> Data Transfer Object +XML is often used for data interchange between different applications. -### Fundamentals +Overall, XML is versatile and widely adopted in various domains for configuring settings and exchanging process data. -And here the first problem arises, namely the question of how to combine these two worlds. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. +~~In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document.~~ -Again, to save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. +~~An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user.~~ -So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no measure of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. +~~We also completely ignored the operation of graphs, i.e. a set of objects connected by references.~~ -If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to define one more problem. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. +~~Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program.~~ + +#### Visualization -Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to design or build a custom washing machine, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. +As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. -In summary, to simultaneously use object-oriented programming and save data as a bitstream, our goal must be to combine two worlds. First, in which the data is in object form. The second world is data in the form of bitstreams. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. +Let's go back to the the question of how to visualize data for a user, for a human. It was stated that an XML file is text, namely a bitstream for which the encoding is defined. It allows to employ of any text editor. Unfortunately, if a file is formatted this way and is seen by persons, who are not familiar with XML technology, it won't be easy to associate any information with the text. In this context reading the document and understanding the document are not the same. -> To learn more about the serialization visit the document: [Serialization in .NET][STLZTN]. +To make it easier to visualize the data that is in the XML file, let's use a feature of XML files that allows a transformation of XML text to any other text. Finally, a few notes related to XML stylesheet transformation. Not only web browsers have a built-in mechanism ensuring transformation. This transformation can be defined in such a way that the target text that will be created has the features of a natural language. The final form may also cover ergonomic requirements, and in particular, it may be the user interface. Shortly, thanks to the transformation of XML files using stylesheet it is possible to add formatting to the data contained in the XML bitstream. -### Useful Technologies +> - To get more about how to start with XSLT visit the W3C School: [XSL(T) Languages][XSLW3C] +> - To check out an examples visit the section [XML-based Presentation][xmlpresentation] #### Validation -If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. +To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. -To better understand these issues, let's look at them in the context of code examples. +You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML schema or selected language classes from XDR, XML, and XSD documents, or from classes in a run-time assembly. -~~Maybe we will also be able to determine solutions that may be useful in this regard.~~ +To better understand topics related to validation check out code examples described in the section [XML-based Validation][xml-based-validation]. -_________________ +#### Standardization -Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. +Extensible Markup Language (XML), is a standardized markup language designed to store and transport data. It provides a set of rules for encoding documents in a machine-readable format. XML standardization ensures consistency in data representation and interchange across different systems. -To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. Therefore, instead of XML schema to validate XML files, we may use an equivalent set of classes. +Visit the `See also` section to get more details. -You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML schema or language classes from XDR, XML, and XSD files, or from classes in a run-time assembly. +### JavaScript Object Notation (JSON) TBD + +#### Introduction + +##### TBD #### Visualization -First of all, we need to deal with data visualization, so as to enable the use of streams also by a human computer user. Let's start with data visualization, taking into account, firstly, natural language, ergonomics, and graphical user interface. +##### TBD -We also talked about the human use of streams. In this case, further requirements appear. Among other things, this representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is. +#### Validation -_________________ +Thanks to schema definition it is possible to derive new domain-specific languages based on JSON. -One more requirement often arises here, namely that the bitstream resulting from the transition of objects to bitstreams should be human-readable. A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? +To address the validation requirement JSON (JavaScript Object Notation) as a text-based format for representing structured information and JSON Schema as a language for expressing constraints about JSON documents are very good candidates to be used by the operation on bitstreams. -As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. +You may use a lot of available in the open access domain tools, which generates XML schema or selected language classes from different kinds of documents. -> To get more about how to start with XSLT visit the W3C School: [XSL\(T\) Languages][XSLW3C]. +To better understand topics related to validation check out code examples related to XML described in the section [XML-based Validation][xml-based-validation]. XML is used to express a general disunion using concrete language. -#### Reflection +#### Standardization -Reflection is the next very useful technology used to support serialization and deserialization. In this chapter, we will touch on the subject of reflection, i.e. we will enter a world in which definitions in the program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. The reflection is a good topic for an independent course. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and recovering metadata about types. +This language is recognized as an international standard. It is standardized by the International Organization for Standardization (ISO) as [ISO/IEC 21778:2017][ISOJSON]. The standardization ensures that JSON is consistent and widely accepted for data interchange between different systems and programming languages. There is also [Request for Comments:7159][RFCJSON] specification titled _The JavaScript Object Notation (JSON) Data Interchange Format_. -So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet; these types are yet to appear. We want to offer a general library that will be used for various types, i.e. for custom types that the user will define these types according to personal needs. The only thing we can rely on are the types built into a selected programming language because they are immutable. +ISO/IEC 21778:2017 specifies the JSON data interchange format, its data model, and its various data types. JSON's simplicity, ease of use, and language-agnostic nature have contributed to its widespread adoption in various domains for representing and exchanging data. JSON is also supported by an open community maintaining schema specification [JSON Schema][CommunityJSON] -If we need to deal with custom types that we do not know, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion based on built-in custom functionality in new types. Finally, we should consider applying reflection, where type definitions become data for the program that can be the subject of recovery metadata and reading/assigning vital values. +### Yet Another Markup Language (YAML) -Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is the design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program in such a way that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. +#### Introduction + +YAML, short for "YAML Ain't Markup Language" is a human-readable data serialization format. It is often used for configuration files and data exchange between development environments with different data structures. YAML uses indentation to represent hierarchy and relies on a straightforward syntax with key-value pairs. It aims to be easy to read and write, making it popular in various applications, including configuration files for software projects. -The language we have selected for education purposes is based on the concept of types. It is strictly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be implemented generically without referring to type definitions, because the types may be unknown at this time. +#### Visualization -Let me remind you that our goal is to automate data transformation between object graphs and bitstreams. We want this process to be mutually unambiguous, repeatable, and automatic. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bit stream into an object graph, requires creating an instance of the object and assigning values to the object's fields or properties to recover its state based on the data obtained during deserialization. +YAML doesn't define any special language allowing automatic transformation of YAML document to other text-based documents that can be used to visualize associated information. To visualize the content of a YAML document, you can use various tools and editors that support YAML. Here are a few options: -The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. reference variables. +- **Online YAML Editors**: Use online YAML editors like YAML Online Viewer or YAML Lint, where you can paste your YAML code and visualize the structure. +- **Integrated Development Environments (IDEs)**: Many modern IDEs, such as Visual Studio Code, Atom, and PyCharm, have built-in support for YAML. Open your YAML file in one of these IDEs to benefit from syntax highlighting and a structured view of your YAML document. +- **YAML Viewer Browser Extensions**: there are browser extensions available that can format and visualize YAML files directly in your browser. Check for extensions compatible with your preferred browser. +- **Command-Line Tools**: you can use command-line tools like `yq` or `jq` to format and view YAML content. +- **Online YAML Visualizers**: some websites offer online YAML visualizers that allow you to paste your YAML code and see a visual representation of the data structure. Search for "Online YAML Visualizer" to find such tools. -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples check out the document [Implementation Examples][ie] +Choose the method that best suits your preferences and workflow. -It's time to summarize selected features of reflection. The examples discussed show how to represent type features as [Type Class][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` instance method. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. +#### Validation -#### Attributes +While YAML itself is not designed to be extended or derived into new languages, it is possible to create domain-specific languages (DSLs) or configuration languages based on YAML syntax. Developers can define specific rules and conventions within the YAML structure to suit the requirements of their particular domain or application. + +In essence, you can create a new language by establishing a set of guidelines for interpreting the YAML data in a specific way. This is often done in the context of configuration files or data representation for a particular software or system. Keep in mind that this is more about using YAML as a foundation and defining the semantics and rules for your specific language rather than formally deriving a new language from YAML. + +## BitStream Cybersecurity -Attributes language constructs at design-time and reflection at run-time could help to solve some problems related to serialization/deserialization. Attribute is a concept used in various programming languages. They are used to add supplementary information to program text. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages. +### TBD -So the question is what are attributes? The general answer is that it is a programming language construct. Detailed explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to explain the attribute. A description of the code snippets is available in the document [Implementation Examples][ie]. +## Serialization -Based on these examples presented in the mentioned above document the discussion may be summarized as follows. An attribute is any class that inherits from the [Attribute Class][Attribute] base class defined in the environment of the selected programming language. In addition, there also must be possible to associate attributes with other language constructs. Finally, the language must provide means to instantiate the attributes in the context of associated constructs to which we want to associate additional data. The definition of attributes and association attributes with other contracts must be compliant with the selected programming language syntax rules. The reflection mechanisms must be used to instantiate attributes at run-time. +### Fundamentals -The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes but examples will be a subject of further discussion. +We've already talked a bit about why we need bitstreams handled using files. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. Data transfer between applications is another use case. For example interoperability of a web server and a web browser. There is a virtual wire between them. We can only send bitstreams over this wire. The temporary and intermediate data repository is another example. These are just a few examples but let's limit the discussion to them because they are enough to justify the importance of this topic. -### Main Technology Features +Now we are ready to return to discussing issues directly related to streaming data. Above, we discussed the mechanisms of managing streams, especially in the context of files. We also realized the differences between bitstreams, text, and documents. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. -Now we are ready to return to discussing issues directly related to streaming data. Above we discussed the mechanisms of managing streams, especially in the context of files. We also learned the differences between bitstreams, text, and documents. We also learned a few technologies including reflection, which can be useful for us. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. +And here the first problem arises, namely the question of how to combine data formatted as objects with the bitstreams. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. -We've already talked a bit about why we need bitstreams handled using files. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. Data transfer between applications is another use case. I would like also to remind you that we have already talked about an example where we have a web server and a web browser. There is a virtual wire between them. We can only send bitstreams over this wire. The temporary and intermediate data repository is another example. +Hence, to save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. -These are just a few examples but let's limit ourselves to them because they are enough to justify the importance of this topic. Let me remind you that so far we have noted that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of an object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. +Let me remind you that so far we have noted that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of an object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. -Before we move to the next step, it is worth recognizing what we need. Here, the list of requirements includes: +Before we move to the next step, it is worth recognizing what we need. Here, from the object point of view, the list of requirements includes: -- access to the data that will be the subject of the transformation process +- access to the data that will be the subject of the serialization - values that will constitute the state of the objects - the relationships between these objects -Next, we need to implement an algorithm that will describe in detail this data transformation, in such a way that this transformation is mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. +Next, we need to implement an algorithm that will describe in detail this data transformation, in such a way that this transformation is mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. The same we should state for deserialization. We will get back to this topic shortly. + +So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no measure of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. + +If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to offer a generic implementation. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to assemble a custom washing machine using available parts, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case even if the mentioned parts are available. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. -From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical stream of bits. Then this bitstream can be compared, for example, to check whether the process is the same as before. And this is where it must be stressed that equivalence has no measure in this respect. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. +In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contain data in the form of bitstreams. let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. -From the previous analysis, we know how to obtain appropriate values that constitute the state of objects and the relationships between these objects. Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the form of the target stream. So we need to determine how to combine bits into words, how to combine words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules. For example, it could have an impact on the bitstream features, hence, the possibility of validating and visualizing content. Two additional notes regarding the target form of the bitstreams are vital for further consideration. +From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical bitstream. Then this bitstream can be compared, for example, to check whether the process is the same as before. It must be stressed that equivalence has no generic measure that can be used to evaluate equivalence condition. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures, for example unit tests. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. -The list of applications that we mentioned previously as potential stream consumers includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another vendor. +Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the form of the target bitstream. So we need to determine how to combine bits into words, words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules are required. For example, it could have an impact on the bitstream features, like the possibility of validating and visualizing content. Two additional notes regarding the target form of the bitstreams are vital for further consideration. -We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important here. A person must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to combine these bit strings into letters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which an encoding has been specified. +The list of applications that we mentioned previously as potential bitstream consumers includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another vendor. + +We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of applications. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create letters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which an encoding is known or discovered. From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. -In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Implementation Examples][ie]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is done manually by the program author, there must be measures allowing one to point out what has to be serialized. +In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Implementation Examples][ie]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is a responsibility of program authors, there must be measures allowing to point out what has to be serialized. + +> To learn more about the serialization visit the document: [Serialization in .NET][STLZTN]. + +### Implementation + +#### Preface + +To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use serialization logic to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to define the state of objects subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are required. To implement the mentioned functionality access to the values holder that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. + +#### Attributes + +Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. + +Apart from the definition of an attribute, it also must be possible to associate attributes with a selected language construct. This association usually is realized as a syntax constraint. For example, an attribute is added as a prefix or a decoration of a target construct. + +The language must also provide means to instantiate the attributes in the context of a construct to which additional data has been associated. By design, the reflection mechanisms must be used to instantiate attributes at run-time. + +Again, let me stress, that the definition of attributes and association attributes with other programming language constructs must be compliant with the selected programming language syntax rules. + +So the question is what is an attribute? The general answer is that it is a programming language definition. Detailed explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to explain the attribute creation and use. A description of the code snippets is available in the document [Implementation Examples][ie]. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes. + +#### Reflection + +Reflection is the next very useful technology that may be employed to support serialization and deserialization implementation. We will only touch on the subject of reflection, i.e. we will enter a world in which definitions in the source program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and recovering data wrapped by objects and recover metadata about types at run-time. + +So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet; these types are yet to appear. We want to offer a general library that will be used for various types, i.e. for custom types that the user will define according to requirements of the application in concern. The only thing we can rely on are the types built into a selected programming language because they are immutable. + +If we need to deal with custom types that we do not know in advance, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion of member values based on built-in custom functionality in new types. Finally, we may consider applying reflection, where type definitions become data for the program that can be the subject of recovery metadata and reading/assigning objects state values. + +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is the design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program in such a way that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. + +The language we have selected for education purposes is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. + +Let me remind you that our goal is to automate data transformation between object graphs and bitstreams. We want this process to be mutually unambiguous, repeatable, and automatic. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires creating an instance of the object and populating it with values of its fields or properties to recover its state based on the data obtained during deserialization. + +The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. references. + +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. This examples show how to represent type features as [Type Class][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` instance method. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. ### Access to Object State Values -In the previous two lessons, we talked about how to build universal libraries that will allow you to transfer object data to a stream and from a stream to object data. We also talked how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is used to prepare a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. We also talked about stream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and indirectly semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. +Talking about serialization/deserialization we must answer the question how to build universal libraries that will allow you to transfer object data to a stream and from a stream to object data. From the above we know how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is used to prepare a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. We also talked about stream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and indirectly semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. _______; @@ -259,8 +341,6 @@ Reflection-based serialization is a technique in software engineering where the To serialize objects of this class we use reflection and attributed programming. An example is described in the section - - ### Graph of Objects Serialization Issues related to graphs are also on the list. Let us introduce two terms: hierarchical and non-hierarchical graph. Loops may occur in non-hierarchical ones. @@ -287,7 +367,7 @@ In case of cyclic graphs, there is no restriction on the number of paths between #### Reflection-Based Serialization Example -This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [BEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. +This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: @@ -318,18 +398,25 @@ Although we know that this is not a universal approach, let us return to the dis - [XML Schema Definition Tool (Xsd.exe)][XSD] - [Type Class][system.type] - [Implementation Examples][ie] -- [Attribute Class][Attribute] +- [ISO/IEC 21778; International Standard; Information technology — The JSON data interchange syntax][ISOJSON] +- [The JavaScript Object Notation (JSON) Data Interchange Format][RFCJSON]; Request for Comments:7159; 2020-01-21 +- [JSON Schema][CommunityJSON] + +[CommunityJSON]: https://json-schema.org/specification#specification +[ISOJSON]: https://www.iso.org/standard/71616.html +[RFCJSON]: https://datatracker.ietf.org/doc/rfc7159 +[ie]: .\DataStreams\README.md +[xmlpresentation]: .\DataStreams\README.md#xml-based-presentation -[ie]: ./DataStreams/README.md [XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp [XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type -[Attribute]: https://learn.microsoft.com/dotnet/api/system.attribute +[xml-based-validation]: ./DataStreams/README.md#xml-based-validation + [CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 -[catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 -[catalogxslt]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xslt#L1-L30 [ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 [SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L80 + diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index 0de0a364..8081447e 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -177,7 +177,7 @@ A `Signature` element complies with the XML Digital Signature standard, namely X - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] - [Generic implementation of the Blockchain agent in .NET][NBlockchain] -- [dependency injection][DI] +- [Dependency Injection][DI] [DI]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) From 90ec5b020f4841f418e685eab6a5be4cd214daa2 Mon Sep 17 00:00:00 2001 From: MPostol Date: Tue, 16 Jan 2024 22:07:23 +0100 Subject: [PATCH 18/67] ExDM Add documentation to the selected parts of the code #369 - working on the ExDataManagement/DataStreams - backup commit --- .../DataStreams.UnitTest/README.md | 43 ++++++- ExDataManagement/DataStreams/README.md | 117 ++++-------------- 2 files changed, 69 insertions(+), 91 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md index 556b9b6e..f464744b 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -19,7 +19,7 @@ Let's try this piece of program is checked by a unit test. As we can see, this u I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. -Let us examine the behavior of files using a specific programming example. Here I have a method that will save a text consisting of the words 'Today is' and the current date to a file. The word file appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it existed, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. +Let us examine the behavior of files using a specific programming example. Here I have a method that will save a text consisting of the words 'Today is' and the current date to a file. The word file appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it existed, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. So what's important to emphasize here is that the File class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. @@ -43,6 +43,42 @@ The last thing remains to be explained, namely the close operation, which we per ## Serialization +The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. + +As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. + +The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. + +Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. + +____________ + +### Reflection-Based Serialization Example + +This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. + +The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: + +``` csharp + _xmlSerializer.Serialize(_writer, dataObject); +``` + +All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. + +For testing purposes, an operation is performed to read the same file and create an equivalent graph of objects, i.e. deserialization implemented in the following assignment instruction + +``` csharp + Catalog _recoveredCatalog = XmlFile.ReadXmlFile(_fileName); +``` + +We can now check whether the result is consistent with our expectation, i.e. whether the original graph of objects and the equivalent graph of objects have appropriate values that are part of the object's state. + +There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. + +#### SerializationUnitTest + +Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. + ## Useful Technologies ### Validation @@ -70,3 +106,8 @@ The last thing remains to be explained, namely the close operation, which we per [XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) + +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 +[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations +[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 +[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index d17647a0..0cea9c68 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -23,17 +23,15 @@ - [Validation](#validation) - [Standardization](#standardization) - [BitStream Format](#bitstream-format) - - [Domain Specific Language](#domain-specific-language) + - [Domain Specific Language (DSL)](#domain-specific-language-dsl) - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) - [Introduction](#introduction-2) - [Visualization](#visualization) - [Validation](#validation-1) - [Standardization](#standardization-1) - - [JavaScript Object Notation (JSON) TBD](#javascript-object-notation-json-tbd) + - [JavaScript Object Notation (JSON)](#javascript-object-notation-json) - [Introduction](#introduction-3) - - [TBD](#tbd) - [Visualization](#visualization-1) - - [TBD](#tbd-1) - [Validation](#validation-2) - [Standardization](#standardization-2) - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) @@ -41,7 +39,7 @@ - [Visualization](#visualization-2) - [Validation](#validation-3) - [BitStream Cybersecurity](#bitstream-cybersecurity) - - [TBD](#tbd-2) + - [TBD](#tbd) - [Serialization](#serialization) - [Fundamentals](#fundamentals) - [Implementation](#implementation) @@ -52,8 +50,6 @@ - [Self Controlled](#self-controlled) - [Reflection-based](#reflection-based) - [Graph of Objects Serialization](#graph-of-objects-serialization) - - [Reflection-Based Serialization Example](#reflection-based-serialization-example) - - [SerializationUnitTest](#serializationunittest) - [See Also](#see-also) ## Key words @@ -92,25 +88,19 @@ A typical example that we can cite here is using the Internet. Using a web brows From the above we can derive that the bitstream should be formatted in a way to resemble a natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. -~~In order for humans to understand the stream, it will also be necessary to define semantic rules, i.e. rules that will allow us to assign meaning and information to strings of bits. The issue of ergonomics is also important, i.e. the ease of absorbing information represented by the stream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to clearly determine how good our solution is.~~ - ### Validation Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. -If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the stream as a certain stream of signs, i.e. when the syntax rules are met. The second one is correctness from the point of view of the possibility of assigning information to these correct sequences and therefore assigning meaning. - -Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. +If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of a stream of signs, i.e. validation if the selected syntax rules are met. The second one is the possibility of assigning information to these correct sequences and therefore assigning meaning to bitstream. For humans to understand the stream, it will be accomplished by defining semantics rules, i.e. rules that will allow us to associate meaning with bitstream. The issue of ergonomics is also important in how easy it is to absorb information represented by the bitstream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to determine how good our solution is. -To better understand above mentioned topics, let's look at them in the context of code examples located in the section [XML-based Validation][xml-based-validation]. In this section XML examples are subject for more detailed examination. - -~~Maybe we will also be able to determine solutions that may be useful in this regard.~~ +To better understand above mentioned topics, let's look at them in the context of code examples explained in the section [XML-based Validation][xml-based-validation]. In this section, XML examples are only subject to more detailed examination but by design, it has no impact on the generality of the discussion. ### Standardization When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. -If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. In the context of a text document, a schema may be used. The schema in this context refers to the structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying , schema allows to define additional syntax rules doe a domain specific language. Schemas help ensure consistency and coherence in the representation of information within the text document. It means that schema definition could be also a foundation of semantics rules used to assign meaning to the document text. As a result we could recognize the schema as a good idea to validate text documents, and check whether incoming text is a document we expect. +If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. In the context of a text document, a schema may be used. The schema in this context refers to the structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying, schema allows the definition of additional syntax rules in a domain-specific language. Schemas help ensure consistency and coherence in the representation of information within the text document. It means that schema definition could also be a foundation of semantics rules used to assign meaning to the document text. As a result, we could recognize the schema as a good idea to validate text documents and check whether incoming text is a document we expect. Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. Because the data may be used by different instances of a program, we also have to take into account that the programs may be in different versions or written using different languages. What worse, the data also must be subject of versioning. In such a case, there is a problem of data compatibility between independent instances of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allows the creation of a graph equivalent to the original graph @@ -120,7 +110,7 @@ If schema definition is expressed in a widely accepted format it should be possi ## BitStream Format -### Domain Specific Language +### Domain Specific Language (DSL) Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. The first answer is that it must be compliant and coupled with a well-known application. The application opens this bitstream as input data and exposes it to the user employing appropriate means to make the data comprehensible. @@ -134,7 +124,7 @@ To use DTO in a multi-vendor environment to transfer data between instances of d #### Introduction -Extensible Markup Language (XML) is a standard text-based format for representing structured data in machine-readable form. Because it is founded based on the text it could also be recognized as human-readable. Its simplicity and flexibility make it suitable for representing a wide range of data formats. +Extensible Markup Language (XML) is a standard text-based format for representing structured data in machine-readable form. Because it is founded based on the text it could also be recognized as human-readable. Its simplicity and flexibility make it suitable for representing a wide range of data formats. It consists of markup tags that define elements within a document. Each element can have attributes and contain nested elements, forming a hierarchical structure. The basic syntax involves opening and closing tags to encapsulate data. Attributes provide additional data in context of the opening tag. @@ -142,14 +132,6 @@ XML is often used for data interchange between different applications. Overall, XML is versatile and widely adopted in various domains for configuring settings and exchanging process data. -~~In the previous example, we used XML text, but there are still many open issues that we need to talk about. One such issue is the answer to the question of what is the difference between XML text and an XML document.~~ - -~~An issue we haven't even mentioned is the visualization of data that has already been saved as a stream. Earlier, when discussing assumptions, we assumed that there may be a situation in which this data will also be intended for the user. One of the issues here is whether the fact that we use the XML standard to record data is enough to determine that this data is readable to a potential human user.~~ - -~~We also completely ignored the operation of graphs, i.e. a set of objects connected by references.~~ - -~~Let's first discuss the first two issues regarding automation and synchronization of the serialization process with the deserialization process. Let's discuss these issues using the example of a program.~~ - #### Visualization As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. @@ -171,19 +153,19 @@ To better understand topics related to validation check out code examples descri #### Standardization -Extensible Markup Language (XML), is a standardized markup language designed to store and transport data. It provides a set of rules for encoding documents in a machine-readable format. XML standardization ensures consistency in data representation and interchange across different systems. +Extensible Markup Language (XML), is a standardized markup language designed to store and transport data. It provides a set of rules for encoding documents in a machine-readable format. XML standardization ensures consistency in data representation and interchange across different systems. Visit the `See also` section to get more details. -### JavaScript Object Notation (JSON) TBD +### JavaScript Object Notation (JSON) #### Introduction -##### TBD +JavaScript Object Notation (JSON), is a lightweight data interchange format. It is a text-based domain-specific language that is easy for humans to read and write, and for machines to parse and generate. JSON is often used to transmit data between a server and a web application, as well as for configuration files. It consists of key-value pairs and supports data types like strings, numbers, objects, arrays, booleans, and null. #### Visualization -##### TBD +Yes, JSON can be transformed into other text formats using a variety of programming languages employing additional libraries for parsing and then converting to different formats like CSV, XML, or others as needed. Languages like JavaScript can be also used for transforming JSON documents to other text formats. JavaScript has built-in functions for JSON manipulation, and you can use libraries or frameworks to convert JSON to various formats as needed. #### Validation @@ -291,62 +273,50 @@ So the question is what is an attribute? The general answer is that it is a prog #### Reflection -Reflection is the next very useful technology that may be employed to support serialization and deserialization implementation. We will only touch on the subject of reflection, i.e. we will enter a world in which definitions in the source program become data and will be processed just like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like dynamic instantiation, method invocation, and recovering data wrapped by objects and recover metadata about types at run-time. +Reflection is the next very useful technology that may be employed to support serialization and deserialization implementation. We will only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, objects dynamic instantiation, method invocation, and recovering data wrapped by objects at run-time. -So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet; these types are yet to appear. We want to offer a general library that will be used for various types, i.e. for custom types that the user will define according to requirements of the application in concern. The only thing we can rely on are the types built into a selected programming language because they are immutable. +So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. for custom types that the user will define according to requirements of the application in concern. The only thing we can rely on are the types built into a selected programming language because they are immutable. If we need to deal with custom types that we do not know in advance, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion of member values based on built-in custom functionality in new types. Finally, we may consider applying reflection, where type definitions become data for the program that can be the subject of recovery metadata and reading/assigning objects state values. -Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is the design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program in such a way that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore it is not an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. The language we have selected for education purposes is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. -Let me remind you that our goal is to automate data transformation between object graphs and bitstreams. We want this process to be mutually unambiguous, repeatable, and automatic. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires creating an instance of the object and populating it with values of its fields or properties to recover its state based on the data obtained during deserialization. +We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires creating an instance of the object and populating it with values of its fields or properties to recover its state based on the data obtained during deserialization. The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. references. -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. This examples show how to represent type features as [Type Class][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` instance method. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as [Type Class][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` instance method. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. ### Access to Object State Values -Talking about serialization/deserialization we must answer the question how to build universal libraries that will allow you to transfer object data to a stream and from a stream to object data. From the above we know how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is used to prepare a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. We also talked about stream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and indirectly semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. +From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members contributing to the state of the object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. -_______; +Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer object data to a stream and from a stream to object data. From the above, we know how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is utilized to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. -From the previous considerations, we know that serialization is a data transformation process from an object to a stream form. Serialization should be implemented as a generic operation. It means that the serialization possibility doesn't depend on the type of the serialized object because it should be offered as a universal library solution and therefore used many times and applied to custom types. This process must start with recovering a set of selected values contributing to the state of the object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. +We also talked about bitstream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and indirect semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. #### Self Controlled -The first approach, compliant with the above scenario, is to locate this functionality internally of a custom type. An example of this approach is covered by the [SelfControlSerialization][SelfControlSerialization] class. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class to be serialized and the class that implements the serialization algorithm. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. +The first approach, compliant with the above scenario, is to locate this functionality internally of a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class to be serialized and the class that implements the serialization algorithm. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. -The first issue that we can recognize is full automation of the serialization and deserialization process. If we look at the code, we see that we must manually ensure that the appropriate values constituting the state of the target object are saved in the array, which will be passed on to be written to the stream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a library. +The first issue that we can recognize is full autonomy of the serialization and deserialization process. In this approach we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which will be passed on to be written to the stream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. The second issue is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. In the example discussed already, we see that we have two separate pieces of custom code that are responsible for this, and therefore any modification in one piece must be reflected in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect but it still does not solve this problem. #### Reflection-based -There is one more issue to discuss, namely how to control the state of an object, i.e. reading and writing values to its members without referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. +Using self-controlled management of the object state means splitting the functionality between the type to be subject to serialization/deserialization and library functionality, which serializes/deserializes the value of members independently. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a contract between both parties responsible for implementing commonly the serialization/deserialization functionality. The main problem is that the type to be subject to serialization/deserialization must be prepared against the contract defined by the implemented interface. -Instead of using a self-controlled approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from which you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. +In case the type to be subject to serialization/deserialization is invisible this approach is not feasible. Instead of using a self-controlled approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from which you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. -The rule that we will remember in the output stream all the values that we can read from public properties that have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this type are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data to newly created objects are in the same place, by using the same property. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. +The rule that we will remember in the output stream all the values that we can read from public properties that have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this type are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data to newly created objects are in the same place, by using the same property. -The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. - -As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. - -The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. - -Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. - -To serialize objects of this class we use reflection and attributed programming. An example is described in the section +To serialize objects of this class we use reflection and attributed programming. An example is described in the section [Implementation Examples][ie]. ### Graph of Objects Serialization -Issues related to graphs are also on the list. Let us introduce two terms: hierarchical and non-hierarchical graph. Loops may occur in non-hierarchical ones. - -__________________________; - Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. Generally, we can distinguish two types of these structures. The first one is hierarchical interconnection, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics, this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to these points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization of the same object. @@ -363,33 +333,7 @@ Assuming that instances of all classes are created (fig. below), the question ar Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. -In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we may encounter many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause the cloning of one object in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. - -#### Reflection-Based Serialization Example - -This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. - -The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: - -``` csharp - _xmlSerializer.Serialize(_writer, dataObject); -``` - -All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. - -For testing purposes, an operation is performed to read the same file and create an equivalent graph of objects, i.e. deserialization implemented in the following assignment instruction - -``` csharp - Catalog _recoveredCatalog = XmlFile.ReadXmlFile(_fileName); -``` - -We can now check whether the result is consistent with our expectation, i.e. whether the original graph of objects and the equivalent graph of objects have appropriate values that are part of the object's state. - -There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. - -#### SerializationUnitTest - -Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. +In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. ## See Also @@ -413,10 +357,3 @@ Although we know that this is not a universal approach, let us return to the dis [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type [xml-based-validation]: ./DataStreams/README.md#xml-based-validation - -[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 -[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations -[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 -[SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L80 - From 39337f2959e8f916855c05b1a5ab798a6028ae35 Mon Sep 17 00:00:00 2001 From: MPostol Date: Thu, 18 Jan 2024 22:30:41 +0100 Subject: [PATCH 19/67] ExDM Add documentation to the selected parts of the code #369 - working on the ExDataManagement/READMECryptography.md - backup commit --- .../DataStreams/READMECryptography.md | 89 +++++++++++++------ 1 file changed, 63 insertions(+), 26 deletions(-) diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index 8081447e..70447943 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -11,17 +11,40 @@ //_____________________________________________________________________________________________________________________________________ --> -# Cryptography +# Bitstream Cybersecurity + +- [Bitstream Cybersecurity](#bitstream-cybersecurity) + - [Introduction](#introduction) + - [Hash](#hash) + - [Preface](#preface) + - [Hash Function](#hash-function) + - [Hash Function Applicability Example](#hash-function-applicability-example) + - [Encryption](#encryption) + - [Introduction](#introduction-1) + - [Encryption fundamentals](#encryption-fundamentals) + - [Symmetric Encryption Example](#symmetric-encryption-example) + - [Conclusion](#conclusion) + - [Digital Signature](#digital-signature) + - [Preface](#preface-1) + - [XML Document Syntax](#xml-document-syntax) + - [Signing Process](#signing-process) + - [CreateRSACryptoServiceKeysTest](#creatersacryptoservicekeystest) + - [XmlSignatureTest](#xmlsignaturetest) + - [See Also](#see-also) + +## Introduction + +Cybersecurity describes the practice of protecting computer systems, networks, and data from cyber threats. In this section, only cybersecurity related to bitstreams is considered. ## Hash -### Introduction +### Preface Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. For now, I mention this seemingly strange combination of topics to ask for your patience. Everything will be clear soon; I promise. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. We already know how to create bitstreams. We can also attach coding to them, i.e. the natural language alphabet. The next step is to assign syntax and semantics that allow the streams to be transformed into a coherent document and therefore enable recovery of information from these documents by a computer user. If this is not enough, we can also display these documents in graphical form. We will come back to this last issue because we have not said the last word here. -However, the most important thing is that a stream is still a stream, so it is a sequence of bits and can be sent, archived, and processed by another computer. It must be stressed again that this infrastructure is always binary. Well, this is where the problem arises. It is required that this binary document is protected against malicious operations. For example, if this document contains a transfer order to our bank, the problem becomes real, material, and meaningful in this context. +However, the most important thing is that a bitstream is still a stream, so it is a sequence of bits and can be sent, archived, and processed by another computer. It must be stressed again that this infrastructure is always binary. Well, this is where the problem arises. It is required that this binary document is protected against malicious operations. For example, if this document contains a transfer order to our bank, the problem becomes real, material, and meaningful in this context. If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. @@ -41,9 +64,9 @@ Blockchain security helps ensure that if someone wants to modify one of the bloc This topic is far beyond the scope of this document, but if you are interested in getting more I encourage you to check out a dedicated GitHub repository [NBlockchain][NBlockchain]. There is a practical example of how to implement such a chain. -### Cryptography Helpers Unit Test +### Hash Function Applicability Example -So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, two unit tests have been prepared. They use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, namely a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. Password may be associated with syntax and semantics to make it easier to remember but, fortunately, these syntax and semantics rules have no impact on the hash calculation. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method. The input parameter of this method is a sequence of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have defined encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. +So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, two unit tests have been prepared. They use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, namely a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. Password may be associated with syntax and semantics to make it easier to remember but, fortunately, these syntax and semantics rules have no impact on the hash calculation. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method. The input parameter of this method is a sequence of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have associated an encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. In the next line: @@ -51,11 +74,11 @@ In the next line: return (BitConverter.ToString(hashValue), Convert.ToBase64String(hashValue, Base64FormattingOptions.InsertLineBreaks)); ``` -a bitstream generated by the hash function is converted into two text forms. The `BitConverter.ToString` converts the numeric value of each element of a specified array of bytes to its equivalent hexadecimal representation. The second form is a string with a notation consistent with the hexadecimal code compliant with the Base64 standard. +a bitstream generated by the hash function is converted into two text forms. The `BitConverter.ToString` converts the numeric value of each element of a specified array of bytes to its equivalent hexadecimal representation. The second form is a string with a notation consistent with the hexadecimal code compliant with the `Base64` standard. -Base64 is a binary-to-text conversion. The output of this conversion represents binary data in an ASCII string format. It is commonly used in scenarios where binary data needs to be stored or transferred as text. This conversion method `Base64` is available in the language library and has many overloads. They all implement the RFC 2045 standard. And here another yellow flag should be raised because it is not the only standard that defines the Base64 conversion. Moreover, based on the RFC database, it is easy to conclude that several RFC documents previously defined this conversion. So we can expect that this standard has been modified over time. Therefore, the question is about the lifetime length of the calculated hash value if it is saved as text compliant with the Base64 standard. It may turn out that the input string has not changed, but in the meantime, the implementation of the `Base64` conversion has changed and therefore using this string for validation is useless. +`Base64` is a binary-to-text conversion. The output of this conversion represents binary data in an ASCII string format. It is commonly used in scenarios where binary data needs to be stored or transferred as text. This conversion method `Base64` is available in the language library and has many overloads. They all implement the RFC 2045 standard. And here another yellow flag should be raised because it is not the only standard that defines the `Base64` conversion. Moreover, based on the RFC database, it is easy to conclude that several RFC documents previously defined this conversion. So we can expect that this standard has been modified over time. Therefore, the question is about backward compatibility and the lifetime length of the calculated hash value if it is saved as text compliant with the `Base64` standard. It may turn out that the input string has not changed, but in the meantime, the implementation of the `Base64` conversion has changed and therefore using this string for validation is useless. -In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a stream of bytes to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask; In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. +In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a bitstream to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask. In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. ## Encryption @@ -65,49 +88,56 @@ In this subsection of the cryptographic security of bitstreams, the encryption c Hence, selective access is required to protect the hash value against unauthorized access. So let's deal with selective access. Selective access is the ability to modify data that is associated with a bitstream only by people who are authorized to do so, and who have the right to obtain such data. We can accomplish this in two ways. -The first way is to share the stream, for example, a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file), he will necessarily not have access to the information that is associated with this file, or rather with this stream. This topic generally deals with operating systems, so it is outside the scope of our interest. So we have to deal with another security method. +1. selective availability of the bitstream +1. selective availability of the bitstream meaning + +The first approach is to share the bitstream, for example, as a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. The authentication process is the verification of the identity of a user or a process attempting to access the system. Authorization in the context of an operating system refers to the process of granting or denying permissions to identity attempting to access specific resources or perform certain operations on a computer system. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file content), he will necessarily not have access to the information that is associated with this bitstream. Unfortunately, this approach is possible only in case there is something in the middle between the file and the user for example. In the above solution, it is an operating system. This topic generally deals with operating systems implementation, so this approach is outside the scope of our interest. Hence, we have to deal with another security method. -The next option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with the stream. This method we call encryption. In other words, encryption involves transforming bitstreams to make the underlying information unreadable. +The second option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with the output bitstream. This method we call encryption. In other words, encryption involves transforming bitstreams to make the underlying information unavailable. ### Encryption fundamentals -Encryption is a reversible bitstream transformation function into another bitstream. After transformation, the encoding, syntax, and semantics rules no longer apply. So, as a consequence, no information can be associated with the obtained this way document. The diagram below shows how it works. +Encryption is a reversible bitstream transformation function into another bitstream. After transformation, the encoding, syntax, and semantics rules no longer apply. So, as a consequence, no information can be associated with the obtained this way bitstream. The diagram below shows how it works. ![fig. encryption](.Media/encryption.png) -The result of this encryption function (Fe) depends on the K1 key. The K1 key is also a bitstream. The disadvantage of this solution is that the resulting stream is always the same because the Fe is a function. This is easily fixed after adding a few randomly generated bytes to the input stream; the so-called nonce. Thanks to this, the result will be different each time. This approach protects against the possibility of repetition, i.e. using the same bitstream even without understanding its meaning. To perform the reverse operation, i.e. restore the source bitstream that was originally encrypted, a decryption operation must be performed. For this we will need the second key marked K2 in the drawing above. If nonce has been added it has to be removed before the bitstream reusing. It is feasible if the source and destination of a bitstream use the same concatenation method. +The result of this encryption function (`Fe`) depends on the `K1` key. The `K1` key is also a bitstream. The disadvantage of this solution is that the resulting bitstream is always the same because the `Fe` is a function. This is easily fixed after adding a few randomly generated bytes to the input stream; the so-called nonce. Thanks to this, the result will be different each time even if the key `K1` is the same. This approach protects against the possibility of repetition, i.e. using the same bitstream even without understanding its meaning. To perform the reverse operation, i.e. restore the source bitstream that was originally encrypted, a decryption operation must be performed. For this we will need the second key marked `K2` in the drawing above. If nonce has been added it is removed before the bitstream is redy for reusing. It is feasible if the source and destination of a bitstream use the same concatenation method. + +If K1==K2 we have a symmetric encryption, otherwise the encryption is asymmetric. + +Symmetric encryption employs a single key for both encryption and decryption. The same key is used by both interoperable parties, providing a faster process than asymmetric encryption. However, secure key exchange becomes crucial for maintaining confidentiality in symmetric encryption. The next problem with symmetric encryption is scaling. The scaling problem with symmetric encryption arises when a large number of parties need to be part of interoperability securely. In this scenario, each pair of parties requires a unique symmetric key for encryption and decryption. Managing and securely distributing a large number of keys becomes challenging, impacting the scalability of symmetric encryption in a practical setting. -### EncryptDecryptDataTest +Asymmetric encryption, also known as public-key cryptography, involves a pair of keys: a public key used for encryption and a private key for decryption. Bitstreams encrypted with the public key can only be decrypted by the corresponding private key, ensuring secure interoperability. On the other hand, bitstreams encrypted with the private key can only be decrypted by the corresponding public key. -It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions +### Symmetric Encryption Example + +It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions is to create an object that generates a key. ```csharp-interactive TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); ``` -is to create an object that generates a key. The key consists of two independent parts and can have different lengths depending on your needs. For default parameters, the length is 192 bits. +The key consists of two independent parts and can have different lengths depending on your needs. For default parameters, the length is 192 bits. -The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted file. Although this example does not show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. +The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both, the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access to the bitstream meaning. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted bitstream. Although this example doesn't show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. -So let's see how the encryption process works. Let me remind you that we are encrypting an XML file that we already know from the previous examples and it is a directory containing CD descriptions. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. +So let's see how the encryption process works. Let me remind you that we are encrypting an XML file used to save a directory containing CD descriptions. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. -First, we open the file for the input stream, which contains the source data that will be encrypted. The data will be encrypted step by step and will be placed in a buffer that has a predetermined length. In this case, it is assumed to be 100 bytes. Encryption requires the creation of a stream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the user about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. So, to read it, we create an object of the `FileStream` type because when encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstream. The encryption process ends when we read zero bytes into the buffer. +First, we open the file to read the input bitstream, which contains the source data that will be encrypted. The data will be encrypted step by step and will be placed in a buffer that has a predetermined length. In this case, it is assumed to be 100 bytes. Encryption requires the creation of a bitstream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the user about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. Encoding in this example is not important and can be neglected. So, to read it, we create an object of the `FileStream` type because, as it was said, when encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstream. The encryption process ends when we read zero bytes into the buffer. Then in the test method, after encrypting the source file, we check that the output file exists. There is an assertion that checks that this file exists and finally, we check if the number of bytes in the source file is equal to the number reported and written in the output file. -And now we move on to the phase where we will decrypt this file; the one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a completely different in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process will be carried out need the same key and the initial vector used while the stream is encrypted. +And now we move on to the phase where we will decrypt this file. The one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process will be carried out need the same key and the initial vector used while the stream is encrypted. -So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using the buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read the content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing encrypted content. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file, the source file. +So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using the buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read the content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file, the source file. ### Conclusion -In the examples discussed in this section, the encryption method of bitstreams is the subject of examination. We have two types of encryption. Encryption using symmetric keys, where the encryption side and the decryption side, i.e. recovering the original bitstream, use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secure because no information can be associated with it. So, it cannot be used to recover the information it originally represents. In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected procedures. We will analyze examples illustrating scenarios in which encryption can and should be used. +We have two types of encryption. In the examples discussed in this section, the symmetric encryption method of bitstreams is the subject of examination. Asymmetric encryption will be subject of next section covering digital signature generation and validation. -[EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 -[DecryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 -[CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 -[CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 -[EncryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 +Encryption using symmetric keys, where the encryption side and the decryption side, i.e. recovering the original bitstream, use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secure because no information can be associated with it. So, it cannot be used to recover the information it originally represents. + +In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected procedures. We will analyze examples illustrating scenarios in which encryption can and should be used. ## Digital Signature @@ -184,3 +214,10 @@ A `Signature` element complies with the XML Digital Signature standard, namely X [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) [NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain + + +[EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 +[DecryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 +[CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 +[CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 +[EncryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 From a746ad26c7bf5c288efee7988eaffbb3810dfaec Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 22 Jan 2024 12:19:29 +0100 Subject: [PATCH 20/67] ExDM Add documentation to the selected parts of the code #369 - working on the ExDataManagement/READMECryptography.md - backup commit --- .../DataStreams/READMECryptography.md | 96 ++++++++++--------- 1 file changed, 53 insertions(+), 43 deletions(-) diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index 70447943..1e7fd8c1 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -26,10 +26,10 @@ - [Conclusion](#conclusion) - [Digital Signature](#digital-signature) - [Preface](#preface-1) - - [XML Document Syntax](#xml-document-syntax) + - [Compliance with Domain-specific Language](#compliance-with-domain-specific-language) - [Signing Process](#signing-process) - - [CreateRSACryptoServiceKeysTest](#creatersacryptoservicekeystest) - - [XmlSignatureTest](#xmlsignaturetest) + - [Creation of Keys](#creation-of-keys) + - [XML Document Signing](#xml-document-signing) - [See Also](#see-also) ## Introduction @@ -111,7 +111,9 @@ Asymmetric encryption, also known as public-key cryptography, involves a pair of ### Symmetric Encryption Example -It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. This text file is located in the `Instrumentation` folder. Therefore, the test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. The purpose of the following instructions is to create an object that generates a key. +It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. The test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. + +The purpose of the following instructions is to create an object that generates a key. ```csharp-interactive TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); @@ -121,85 +123,79 @@ The key consists of two independent parts and can have different lengths dependi The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both, the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access to the bitstream meaning. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted bitstream. Although this example doesn't show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. -So let's see how the encryption process works. Let me remind you that we are encrypting an XML file used to save a directory containing CD descriptions. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. +So let's see how the encryption process works. In this example, we are encrypting an XML file used to save a directory containing CD descriptions. let me stress that the content of the file has no impact on the encryption/decryption process. The most important thing is that it is just a bitstream. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. -First, we open the file to read the input bitstream, which contains the source data that will be encrypted. The data will be encrypted step by step and will be placed in a buffer that has a predetermined length. In this case, it is assumed to be 100 bytes. Encryption requires the creation of a bitstream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the user about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. Encoding in this example is not important and can be neglected. So, to read it, we create an object of the `FileStream` type because, as it was said, when encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstream. The encryption process ends when we read zero bytes into the buffer. +First, we open the file to read the input bitstream, which contains the source data that is to be encrypted. The data is encrypted step by step using small chunks and is preserved in a buffer that has a predetermined length. In this case, the buffer is 100 bytes long. Encryption requires the creation of a bitstream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the caller about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. Associated encoding with this file content is not important and can be neglected. So, to read it, we create an object of the `FileStream` type because, as it was said while encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstreams. The encryption process ends when we read zero bytes into the buffer. Then in the test method, after encrypting the source file, we check that the output file exists. There is an assertion that checks that this file exists and finally, we check if the number of bytes in the source file is equal to the number reported and written in the output file. -And now we move on to the phase where we will decrypt this file. The one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process will be carried out need the same key and the initial vector used while the stream is encrypted. +And now we move on to the phase where we will decrypt this file. The one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process is to be carried out need the same key and the initial vector used while the stream is encrypted. -So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using the buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read the content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file, the source file. +So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using small chunks preserved in a buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read a file content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing the encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file that is the source file. ### Conclusion -We have two types of encryption. In the examples discussed in this section, the symmetric encryption method of bitstreams is the subject of examination. Asymmetric encryption will be subject of next section covering digital signature generation and validation. - -Encryption using symmetric keys, where the encryption side and the decryption side, i.e. recovering the original bitstream, use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secure because no information can be associated with it. So, it cannot be used to recover the information it originally represents. +We have already learned that there are two types of encryption. In the examples discussed in this section, the symmetric encryption method of the bitstreams was the subject of examination. Asymmetric encryption will be the subject of the next section covering digital signature generation and validation. In the symmetric encryption, the encryption and decryption sides use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secured because no information can be associated with it. In other words, it cannot be used to recover the information it originally represents though the encrypted meaningless bitstream is available. -In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected procedures. We will analyze examples illustrating scenarios in which encryption can and should be used. +In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected procedures. The next section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties during a specific session. It is generated for a short duration and provides a secure means for encrypting and decrypting messages exchanged between the communicating entities. Session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. ## Digital Signature ### Preface -Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. Therefore, in this subsection, I propose to continue discussions on cryptographic security in this respect. +Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. In this subsection, the discussion on cryptographic security is continued in respect of non-repudiation. Non-repudiation can be achieved by providing a way to verify that the sender of a message is who claims to be and that the message has not been altered during transmission. To achieve this protection a digital signature is applied. The digital signature is a cryptographic technique used to ensure the authenticity and integrity of a bitstream. + +We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. Bitstream integrity refers to the assurance that the bitstream remains unchanged and intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. The previous subsection addressed symmetric encryption, in which we use the same keys by the encryption and decryption parties. And again we have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. + +To implement digital signature, the sender uses a private key to create a unique digital signature for the message. This private key is known only to the sender and is kept confidential. The recipient in turn can verify the signature using the sender's public key. The public key is widely distributed and can be freely shared. -We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. Bitstream integrity refers to the assurance that the bitstream remains unchanged and intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. The previous subsection addressed also symmetric encryption, in which we use the same keys in the encryption and decryption processes. And again we have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. +If the digital signature is valid, it confirms that the bitstream is indeed signed by the holder of the private key associated with the public key used for verification. The digital signature also ensures that the content of the bitstream has not been altered since the signature was created. Even a small change in the message would result in a completely different signature. -Let's check how asymmetric encryption could help in this subsection. First of all, I propose to deal with the confirmation of authorship. I have associated this issue with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. +Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue have been associated with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. -### XML Document Syntax +### Compliance with Domain-specific Language -But before we move on to discussing how it works, I wanted to draw attention to a few important issues related to the XML documents. For example, consider the [catalog.example.xml][catalog] document that we already used in previous examples. Let's try to add a text to this document, for example, previously calculated hash function result expressed as hexadecimal text. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text document and is not suitable for further processing when we expect the document to follow XML syntax rules. +If a bitstream to be signed is compliant with domain-specific language (for example XML) any inserted text to this bitstream must not break compliance with this language. For example, consider the [catalog.example.xml][catalog] document that we already used in previous examples. Let's try to add at the end a free-formatted text to this document, for example, a previously calculated hash value expressed as hexadecimal text. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text document and is not suitable for further processing when we expect the document to follow XML syntax rules. -What can we do? We can move this text to an element, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document complies with a certain schema, then this document will be rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. They will be very important to us. +What can we do? We can surround this text with an element markup, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document complies with a certain schema, then this document will be rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. They will be very important to us. ### Signing Process -First, let me remind you of the goals. We have three of them. The first is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. The third goal is the nonrepudiation of the author. In the latter case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. +First, let me remind you of the three goals we have. The first one is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. This goal we call non-repudiation of the author. In this case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. Last but not least purpose is to safeguard information from unauthorized access, ensuring confidentiality. The last goal can be enforced using the encryption already examined provided that the key distribution will support this. -The following diagram shows how we can achieve these goals +The following diagram shows how to achieve these goals ![Fig. 1 Digital Signature](.Media/PodpisCyfrowy.png) In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is assumed to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, send the whole result to another place, archive it, and in any case make it available to other users of this bitstream. -To check its integrity and authorship, we can first recalculate the hash for the part that constitutes the source bitstream. This hash should be the same. To determine the initial hash value, it can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the received initial hash value with the hash value that is calculated after receiving the bitstream. If these two hashes are the same, it means that the input bitstream has not been affected because the hash value is still the same. Since we used a public key that is paired with a private key, we can also conclude that a specific person created this stream. For any other person, this decryption operation will not produce an identical hash. +To check its integrity and authorship, we can first recalculate the hash for the part that constitutes the source bitstream. This hash should be the same. To determine the initial hash value, it can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the decrypted initial hash value with the hash value that is calculated after receiving the bitstream. If these two hashes are the same, it means that the input bitstream has not been affected because the hash value is still the same. Since we used a public key that is paired with a private key, we can also conclude that a specific person created this stream. For any other person, this decryption operation will not produce an identical hash. -And now the last thing is how to ensure nonrepudiation. How to ensure that the person who originally signed this stream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity that has the private key, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. +And now the last thing is how to ensure non-repudiation. How to ensure that the person who originally signed this stream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity that has the private key, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. -### CreateRSACryptoServiceKeysTest +### Creation of Keys -Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and indicates some methods on how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this subject, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. +Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and indicates some methods on how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this section, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some negative impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. -Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the program. It is not intended to be used for key distribution outside of the program hosting realm. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distribution over the network. Anyway, in the investigated sample, all three forms of keys are returned as a result of this method. +Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the program. It is not intended to be used for key distribution outside of the program hosting realm. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distributing the keys over the network. Anyway, in the investigated sample, all three forms of keys are returned as a result of this method. It is a redundant solution to show only possible implementations. -Let's go back to the [CreateRSACryptoServiceKeysTest][CreateRSACryptoServiceKeysTest] test method, where we check that the first variable is not `null`, so an object of the `RSAParameters` class is returned. We further check that the content of the XML documents - they are simply a text - that contains only the public key [PubliKey.xml][PubliKey] and the one that contains the public key and private key, are not the same. From the point of view of testing, these operations are not important, but they show how the `CreateRSACryptoServiceKeys` method works. The XML document that contains both the public and the private keys is located in the file [PubliPrivateKeys.xml][PubliPrivateKeys]. Of course, in the case of a private key, identity information is not important because, by design, a private key is only used by the owner. +Let's go back to the [CreateRSACryptoServiceKeysTest][CreateRSACryptoServiceKeysTest] test method, where we check that the first variable is not `null`, so an object of the `RSAParameters` class is returned. We further check that the content of the XML documents - they are simply a text - that contains only the public key [PubliKey.xml][PubliKey] and the one that contains the public key and private key, are not the same. From the point of view of testing, these operations are not important, but they show how the `CreateRSACryptoServiceKeys` method works. -The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (stream users), by definition the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by the appropriate organization and it is this office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Discussing these issues in detail, as I said earlier, is far beyond the scope of this document. +The XML document that contains both the public and the private keys is located in the file [PubliPrivateKeys.xml][PubliPrivateKeys]. Of course, in the case of a private key, identity information is not important because, by design, a private key is only used by the owner. -### XmlSignatureTest +The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (bitstream users), by definition the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by the appropriate organization. The organization is an office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Unfortunately, discussing these issues in detail, as I said earlier, is far beyond the scope of this document. -Let us now discuss how to implement the operation of signing an XML document and how to place the obtained signature in the document so as not to violate the rules of syntax control consistent with its schema. First, we will need an input file that will serve as a signed source document. For this purpose, we will use the file [catalog.example.xml][catalog] again. We will also need the keys. We will use the public key to check the validity of the signature. However, we will use the private key to sign the document. +### XML Document Signing -The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] test method. The signature is implemented in the [SignSaveXml][SignSaveXml] method to which we send the source document to be signed, the keys that will be used for signing, and the name of the document where the signed document is to be saved. In this method, apart from checking the correctness of the input arguments, we create an object of the `RSACryptoServiceProvider` class, which will be used to create a signature so that we can place the signature in this document. Signing itself means that we add a signature in the last instruction. To create this signature, we use the keys that we sent, so this object is initialized with the keys that were sent here so that the entire signing process takes place using the keys that will be further used to check the signature. Finally, the signed document is saved to a file. +Let us now discuss how to implement the operation of signing an XML document and how to place the obtained signature in the document so as not to violate the rules of syntax control consistent with its schema. First, we will need an input file that will serve as a signed source document. For this purpose, we will use the file [catalog.example.xml][catalog]. We will also need the keys. We will use the public key to check the validity of the signature. However, we will use the private key to sign the document. -So let's go back to the [XmlSignatureTest][XmlSignatureTest] test method. We assume that we have already signed the document saved in the file and now we can move on to discussing the methods that check the correctness of this document. There are two overloads of the [LoadVerifyXml][LoadVerifyXml] methods. Calling the first overload, we do not transfer the keys. It is worth emphasizing that the document is loaded and checked using the public key stored in this document. With this solution, we do not have to bother with providing the public key. Of course, with this type of checking, we cannot confirm the author's identity because anyone can enter such a public key. The only thing we can do is check whether the document is consistent from the point of view of this key. The second overload of this method uses the already transferred keys and initializes the `RSACryptoServiceProvider` object, which is used to check the document authorship. +The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] test method. This operation is implemented in the [SignSaveXml][SignSaveXml] method to which we passed the source document to be signed, the keys that will be used for signing, and the name of the document where the signed document is to be saved. In this method, apart from checking the correctness of the input arguments, we create an object of the `RSACryptoServiceProvider` class, which will be used to create a signature so that we can place the signature in this document. Signing itself means that we add a signature in the last instruction. To create this signature, we use the keys that we passed while invoking the method, so this object is initialized with the keys that were passed here so that the entire signing process takes place using the keys that will be further used to check the signature. Finally, the signed document is saved to a file. -Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To explain we must go back to the code for a while. To fix it this element `Signature` element has to be removed just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. +So let's go back to the [XmlSignatureTest][XmlSignatureTest] test method. We assume that we have already signed and saved the document in the file and now we can move on to discussing the methods that check the correctness of this document. There are two overloads of the [LoadVerifyXml][LoadVerifyXml] methods. Calling the first overload, we do not transfer the keys. It is worth emphasizing that the document is loaded and checked using the public key stored in this document. With this solution, we do not have to bother with providing the public key. Of course, with this type of checking, we cannot confirm the author's identity because anyone can enter such a public key. The only thing we can do is check whether the document is consistent against this key. The second overload of this method uses the already transferred keys and initializes the `RSACryptoServiceProvider` object, which is used to check the document authorship. -A `Signature` element complies with the XML Digital Signature standard, namely XML Signature Syntax and Processing Version 1.1 issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. +Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To explain we must go back to the code for a while. To fix it, the `Signature` element has to be removed from the XML document just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. -[SignSaveXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 -[XmlSignatureTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 -[CreateRSACryptoServiceKeysTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 -[CreateRSACryptoServiceKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L88-L101 -[PubliPrivateKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 -[PubliKey]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 -[catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 -[LoadVerifyXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 -[SignedXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 +A `Signature` element complies with the XML Digital Signature standard, namely XML Signature Syntax and Processing Version 1.1 issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. ## See Also @@ -215,9 +211,23 @@ A `Signature` element complies with the XML Digital Signature standard, namely X [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) [NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain + +[CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 + [EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 [DecryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 [CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 -[CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 + [EncryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 + + +[SignSaveXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 +[XmlSignatureTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 +[CreateRSACryptoServiceKeysTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 +[CreateRSACryptoServiceKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L88-L101 +[PubliPrivateKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 +[PubliKey]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 +[catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[LoadVerifyXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 +[SignedXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 \ No newline at end of file From 4532a3951a9ca23610f2242437366852ff7fa358 Mon Sep 17 00:00:00 2001 From: MPostol Date: Wed, 24 Jan 2024 21:57:31 +0100 Subject: [PATCH 21/67] ExDM Add documentation to the selected parts of the code #369 - working on the ExDataManagement/READMECryptography.md - backup commit --- .../DataStreams/READMECryptography.md | 76 ++++++++++--------- 1 file changed, 39 insertions(+), 37 deletions(-) diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index 1e7fd8c1..3226e86b 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -22,7 +22,7 @@ - [Encryption](#encryption) - [Introduction](#introduction-1) - [Encryption fundamentals](#encryption-fundamentals) - - [Symmetric Encryption Example](#symmetric-encryption-example) + - [Symmetric Cryptography Example](#symmetric-cryptography-example) - [Conclusion](#conclusion) - [Digital Signature](#digital-signature) - [Preface](#preface-1) @@ -48,10 +48,6 @@ However, the most important thing is that a bitstream is still a stream, so it i If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. -It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore no unauthorized persons should have access to it. We can then proceed in such a way that using the bidirectional conversion mechanism, a source bitstream is replaced with another bitstream to which we cannot attach the encoding, syntax, and semantics rules any longer. As a result, it makes it impossible to associate information with this bitstream. It resembles a white noise. However, any person who has the right to access this information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules to enable the recovery of the information represented by the source bitstream. - -When talking about documents such as a transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. - ## Hash Function Let's move on to the first option for securing streams: the hash function. It is a function that transforms the input bitstream to calculate another fixed-size unique bitstream. A collision in a hash function occurs when two different inputs produce the same hash value as output. The next feature of the received output bitstream is that the reverse transformation, i.e. recovering the source bitstream is practically impossible. One way to use such a function is to associate this hash value with the bitstream we want to protect. Then the hash value can be used to check whether the bitstream has not been modified in the meantime by calculating this function again and comparing the result with the associated hash value with the source bitstream if the expanded bitstream is archived or sent from one place to another. A certain drawback of this solution is that the algorithms for these functions are widely known, so if a "man in the middle" wants to modify the source bitstream, they can modify the source bitstream and recalculate a new value of the hash function for the previously modified bitstream. @@ -84,36 +80,38 @@ In unit tests methods, we have two assertions, which compare the result returned ### Introduction +It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore unauthorized persons shouldn't have access to it. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules and finally recover the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the notice back to the original music. This reversible transformation function we will call encodings. + In this subsection of the cryptographic security of bitstreams, the encryption concept is addressed. Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the hash value to the destination in such a way that malicious users cannot modify it. Otherwise, modifying the source stream is not a problem because calculating a new hash function value that takes this modification into account is quite a trivial operation. -Hence, selective access is required to protect the hash value against unauthorized access. So let's deal with selective access. Selective access is the ability to modify data that is associated with a bitstream only by people who are authorized to do so, and who have the right to obtain such data. We can accomplish this in two ways. +Hence, selective access is required to protect any bitstream including but not limited to hash value against unauthorized access. Selective access is the ability to access information that is associated with a bitstream only by people who are authorized to do so. We can accomplish this in two ways: -1. selective availability of the bitstream -1. selective availability of the bitstream meaning +- selective availability of the bitstream itself +- selective availability of the bitstream meaning -The first approach is to share the bitstream, for example, as a file, only with people who have the right to do so. This can be achieved thanks to the authentication and authorization offered by most operating systems. The authentication process is the verification of the identity of a user or a process attempting to access the system. Authorization in the context of an operating system refers to the process of granting or denying permissions to identity attempting to access specific resources or perform certain operations on a computer system. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that operates has the right to do so. Of course, if someone does not gain access to the bitstream (to the file content), he will necessarily not have access to the information that is associated with this bitstream. Unfortunately, this approach is possible only in case there is something in the middle between the file and the user for example. In the above solution, it is an operating system. This topic generally deals with operating systems implementation, so this approach is outside the scope of our interest. Hence, we have to deal with another security method. +The first approach is to share the bitstream, for example, as a file, only with people who have the right to get access to it. This can be achieved thanks to the authentication and authorization offered by most operating systems. Authorization in the context of an operating system refers to the process of granting or denying permissions to identity attempting to perform certain operations on a computer system. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that requested the execution of an operation has the right to do so. Of course, if someone does not gain access to the bitstream (to the file content), he will necessarily not have access to the information that is associated with this bitstream. Unfortunately, this approach is possible only in case there is something trusted in the middle between the file and the user, for example, a well-configured operating system. This topic generally doesn't deal with operating systems implementation, so this approach is outside the scope of our interest. Hence, we have to deal with another security method. -The second option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with the output bitstream. This method we call encryption. In other words, encryption involves transforming bitstreams to make the underlying information unavailable. +The second option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with this bitstream. This method we call encryption. In other words, encryption involves transforming or scrambling bitstreams to make the underlying information unavailable to unauthorized users. ### Encryption fundamentals -Encryption is a reversible bitstream transformation function into another bitstream. After transformation, the encoding, syntax, and semantics rules no longer apply. So, as a consequence, no information can be associated with the obtained this way bitstream. The diagram below shows how it works. +Encryption is a reversible bitstream transformation function into another bitstream. The transformation or scrambling function rearranges or modifies the order of bits in a bitstream. This function is designed to introduce complexity and randomness into the data, making it difficult for unauthorized parties to interpret or understand without the appropriate decryption process. The goal is to enhance the security of the information being transmitted or stored. After encryption, the encoding, syntax, and semantics rules no longer apply to an output bitstream. So, as a consequence, no information can be associated with the obtained this way bitstream. The diagram below shows how it works. ![fig. encryption](.Media/encryption.png) -The result of this encryption function (`Fe`) depends on the `K1` key. The `K1` key is also a bitstream. The disadvantage of this solution is that the resulting bitstream is always the same because the `Fe` is a function. This is easily fixed after adding a few randomly generated bytes to the input stream; the so-called nonce. Thanks to this, the result will be different each time even if the key `K1` is the same. This approach protects against the possibility of repetition, i.e. using the same bitstream even without understanding its meaning. To perform the reverse operation, i.e. restore the source bitstream that was originally encrypted, a decryption operation must be performed. For this we will need the second key marked `K2` in the drawing above. If nonce has been added it is removed before the bitstream is redy for reusing. It is feasible if the source and destination of a bitstream use the same concatenation method. +The result of this encryption function (`Fe`) depends on the `K1` key. The `K1` key is also a bitstream. The disadvantage of this solution is that the resulting bitstream is always the same because the `Fe` is a function. This is easily fixed after adding a few randomly generated bytes to the input stream; the so-called nonce. Thanks to this, the result will be different each time even if the key `K1` is the same. This approach protects against the possibility of repetition, i.e. using the same bitstream even without understanding its meaning. To perform the reverse operation, i.e. restore the source bitstream that was originally encrypted, a decryption operation must be performed. For this, we will need the second key marked `K2` in the drawing above. If nonce has been added it is removed before the bitstream is ready for reusing. -If K1==K2 we have a symmetric encryption, otherwise the encryption is asymmetric. +If K1==K2 we have symmetric encryption, otherwise we call the encryption asymmetric. -Symmetric encryption employs a single key for both encryption and decryption. The same key is used by both interoperable parties, providing a faster process than asymmetric encryption. However, secure key exchange becomes crucial for maintaining confidentiality in symmetric encryption. The next problem with symmetric encryption is scaling. The scaling problem with symmetric encryption arises when a large number of parties need to be part of interoperability securely. In this scenario, each pair of parties requires a unique symmetric key for encryption and decryption. Managing and securely distributing a large number of keys becomes challenging, impacting the scalability of symmetric encryption in a practical setting. +Symmetric encryption employs a single key for both encryption and decryption operations. The same key is used by both interoperable parties, providing a more efficient process than asymmetric encryption. However, secure key exchange becomes crucial for maintaining confidentiality in symmetric encryption. The next problem with symmetric encryption is scaling. The scaling problem with symmetric encryption arises when a large number of parties need to be part of interoperability securely. In this scenario, each pair of interconnected parties requires a unique symmetric key for encryption and decryption. Managing and securely distributing a large number of keys becomes challenging, impacting the scalability of symmetric encryption in a practical setting. -Asymmetric encryption, also known as public-key cryptography, involves a pair of keys: a public key used for encryption and a private key for decryption. Bitstreams encrypted with the public key can only be decrypted by the corresponding private key, ensuring secure interoperability. On the other hand, bitstreams encrypted with the private key can only be decrypted by the corresponding public key. +Asymmetric encryption, also known as public-key cryptography, involves a pair of keys, namely a public key used for encryption and a private key for decryption. Bitstreams encrypted with the public key can only be decrypted by the corresponding private key, ensuring secure interoperability. On the other hand, bitstreams encrypted with the private key can only be decrypted by the corresponding public key. -### Symmetric Encryption Example +### Symmetric Cryptography Example It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. The test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. -The purpose of the following instructions is to create an object that generates a key. +The purpose of the following instructions is to create an object that generates an encryption/decryption key. ```csharp-interactive TripleDESCryptoServiceProvider _tripleDesProvider = new TripleDESCryptoServiceProvider(); @@ -123,24 +121,28 @@ The key consists of two independent parts and can have different lengths dependi The next method [EncryptData][EncryptData] encrypts the input file and places the result in the output file. But to perform the encryption operation, we still need to pass two parameters, a key and an initialization vector. Please note that both, the initialization vector and the key are arrays of bytes, they are simply bitstreams. Where these keys are generated is important because access to these keys guarantees selective access to the bitstream meaning. This means anyone who has both the key and the initialization vector will be able to decrypt the encrypted bitstream. Although this example doesn't show it, we should take care of the distribution of keys and, of course, the initialization vector. We can treat these two things as one whole. -So let's see how the encryption process works. In this example, we are encrypting an XML file used to save a directory containing CD descriptions. let me stress that the content of the file has no impact on the encryption/decryption process. The most important thing is that it is just a bitstream. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. +So let's see how the encryption may be applied. In this example, we are encrypting an XML file used to save a directory containing CD descriptions. Let me stress that the content of the file has no impact on the encryption/decryption process. The most important thing is that it is just a bitstream. The [EncryptData][EncryptData] encryption method has the following parameters: input file name, output file name, key, and initialization vector. Next, [dependency injection][DI] is used to allow the calling method to keep track of the process as the encryption process happens in stages. -First, we open the file to read the input bitstream, which contains the source data that is to be encrypted. The data is encrypted step by step using small chunks and is preserved in a buffer that has a predetermined length. In this case, the buffer is 100 bytes long. Encryption requires the creation of a bitstream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the caller about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. Associated encoding with this file content is not important and can be neglected. So, to read it, we create an object of the `FileStream` type because, as it was said while encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstreams. The encryption process ends when we read zero bytes into the buffer. +First, we open the file to read the input bitstream, which contains the source data that is to be encrypted. The data is encrypted step by step using small chunks and is preserved in a buffer that has a predetermined length. In this case, the buffer is 100 bytes long. Encryption requires the creation of a bitstream complying with the `CryptoStream` type. To create its instance, we will need an object for which we pass the key and an initialization vector. The encryption itself is performed using the `Write` method, which writes bytes from the local buffer to the `CryptoStream` object. After saving, we inform the invoking party about the process progress returning the total number of bytes that are saved in this step to monitor the progress of work. Please note here that although the source file is a text file, we treat it as a bitstream. Associated encoding with this file content is not important and can be neglected. So, to read it, we create an object of the `FileStream` type because, as it was said while encrypting the encoding of the input file is irrelevant. In other words, encryption is always performed for the bitstreams. The encryption process ends when we read zero bytes into the buffer. Then in the test method, after encrypting the source file, we check that the output file exists. There is an assertion that checks that this file exists and finally, we check if the number of bytes in the source file is equal to the number reported and written in the output file. -And now we move on to the phase where we will decrypt this file. The one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process is to be carried out need the same key and the initial vector used while the stream is encrypted. +And now we move on to the step where the file is decrypted. That one we created. The entire procedure is carried out in the [DecryptData][DecryptData] method. This is again the library method. We pass similar parameters to it. Let me stress that to succeed the same key and the initialization vector that was used earlier have to be passed. Of course, in a real scenario, decryption is performed in a different location usually by a different computer, or even in a completely different place in the world, therefore we must ensure that whoever performs the decryption process in the location where the decryption process is to be carried out need the same key and the initialization vector used while the stream is encrypted. So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using small chunks preserved in a buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read a file content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing the encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file that is the source file. ### Conclusion -We have already learned that there are two types of encryption. In the examples discussed in this section, the symmetric encryption method of the bitstreams was the subject of examination. Asymmetric encryption will be the subject of the next section covering digital signature generation and validation. In the symmetric encryption, the encryption and decryption sides use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secured because no information can be associated with it. In other words, it cannot be used to recover the information it originally represents though the encrypted meaningless bitstream is available. +We have already learned that there are two types of encryption. In the examples discussed in this section, the symmetric encryption method of the bitstreams was the subject of examination. Asymmetric encryption will be the subject of the next section covering digital signature generation and validation. -In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected procedures. The next section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties during a specific session. It is generated for a short duration and provides a secure means for encrypting and decrypting messages exchanged between the communicating entities. Session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. +In the symmetric encryption, the encryption and decryption sides use identical keys. From the point of encryption up to decryption, the bitstream is highly likely to be secured because no information can be associated with it. In other words, it cannot be used to recover the information it originally represents though the encrypted meaningless bitstream is available. + +In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. The next section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties during a specific session. It is generated for a short duration and provides a secure means for encrypting and decrypting bitstreams exchanged between the communicating entities. Session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. ## Digital Signature +👉🏻 When talking about documents such as a transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. + ### Preface Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. In this subsection, the discussion on cryptographic security is continued in respect of non-repudiation. Non-repudiation can be achieved by providing a way to verify that the sender of a message is who claims to be and that the message has not been altered during transmission. To achieve this protection a digital signature is applied. The digital signature is a cryptographic technique used to ensure the authenticity and integrity of a bitstream. @@ -161,7 +163,7 @@ What can we do? We can surround this text with an element markup, which is calle ### Signing Process -First, let me remind you of the three goals we have. The first one is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. This goal we call non-repudiation of the author. In this case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. Last but not least purpose is to safeguard information from unauthorized access, ensuring confidentiality. The last goal can be enforced using the encryption already examined provided that the key distribution will support this. +First, let me remind you of the three goals we have. The first one is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. This goal we call non-repudiation of the author. In this case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. Last but not least purpose is to safeguard information from unauthorized access, ensuring confidentiality. The last goal can be enforced using the encryption already examined provided that the key distribution will support this. The following diagram shows how to achieve these goals @@ -212,22 +214,22 @@ A `Signature` element complies with the XML Digital Signature standard, namely X [NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain -[CalculateSHA256]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 +[CalculateSHA256]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 -[EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 -[DecryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 -[CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 +[EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 +[DecryptData]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 +[CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 -[EncryptData]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 +[EncryptData]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 -[SignSaveXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 -[XmlSignatureTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 -[CreateRSACryptoServiceKeysTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 -[CreateRSACryptoServiceKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L88-L101 -[PubliPrivateKeys]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 -[PubliKey]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 -[catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 -[LoadVerifyXml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 -[SignedXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 \ No newline at end of file +[SignSaveXml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 +[XmlSignatureTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 +[CreateRSACryptoServiceKeysTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 +[CreateRSACryptoServiceKeys]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L88-L101 +[PubliPrivateKeys]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 +[PubliKey]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 +[catalog]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[LoadVerifyXml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 +[SignedXmlFile]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 \ No newline at end of file From ccea6bde896124a841fd280b2707599f2baf1f4f Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 26 Jan 2024 16:24:10 +0100 Subject: [PATCH 22/67] ExDM Add documentation to the selected parts of the code #369 - working on READMECryptography.md - backup copy --- .../DataStreams/READMECryptography.md | 104 ++++++++++++------ 1 file changed, 73 insertions(+), 31 deletions(-) diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index 3226e86b..d24d1e09 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -28,8 +28,9 @@ - [Preface](#preface-1) - [Compliance with Domain-specific Language](#compliance-with-domain-specific-language) - [Signing Process](#signing-process) - - [Creation of Keys](#creation-of-keys) - - [XML Document Signing](#xml-document-signing) + - [Creation of Keys Example](#creation-of-keys-example) + - [XML Document Signing Example](#xml-document-signing-example) + - [Conclusion](#conclusion-1) - [See Also](#see-also) ## Introduction @@ -80,7 +81,7 @@ In unit tests methods, we have two assertions, which compare the result returned ### Introduction -It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore unauthorized persons shouldn't have access to it. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules and finally recover the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the notice back to the original music. This reversible transformation function we will call encodings. +It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore unauthorized persons shouldn't have access to it. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules and finally recover the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the notice back to the original music. This reversible transformation function we will call encryption. In this subsection of the cryptographic security of bitstreams, the encryption concept is addressed. Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the hash value to the destination in such a way that malicious users cannot modify it. Otherwise, modifying the source stream is not a problem because calculating a new hash function value that takes this modification into account is quite a trivial operation. @@ -141,77 +142,120 @@ In the next part, we move on to asymmetric encryption. Precisely, not the encryp ## Digital Signature -👉🏻 When talking about documents such as a transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. - ### Preface -Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. In this subsection, the discussion on cryptographic security is continued in respect of non-repudiation. Non-repudiation can be achieved by providing a way to verify that the sender of a message is who claims to be and that the message has not been altered during transmission. To achieve this protection a digital signature is applied. The digital signature is a cryptographic technique used to ensure the authenticity and integrity of a bitstream. +When talking about documents such as a wire transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. + +Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. In this subsection, the discussion on cryptographic security is continued in the context of non-repudiation. Non-repudiation can be achieved by providing a way to verify that the sender of a message is who claims to be and that the message has not been altered during transmission. To achieve this protection a digital signature is applied. The digital signature is a cryptographic technique used to ensure the authenticity and integrity of a bitstream. -We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. Bitstream integrity refers to the assurance that the bitstream remains unchanged and intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. The previous subsection addressed symmetric encryption, in which we use the same keys by the encryption and decryption parties. And again we have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. +We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. Bitstream integrity refers to the assurance that the bitstream remains intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. The previous article [`Cybersecurity of External Streaming Data - Confidentiality`][confidentiality] addresses symmetric encryption, in which we use identical keys by the encryption and decryption inter-operating parties. Again, we have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. -To implement digital signature, the sender uses a private key to create a unique digital signature for the message. This private key is known only to the sender and is kept confidential. The recipient in turn can verify the signature using the sender's public key. The public key is widely distributed and can be freely shared. +To implement a digital signature, the sender uses a private key to create a unique digital signature for the message. This private key is known only to the sender and is kept confidential. The recipient, in turn, can verify the signature using the sender's public key. The public key is widely distributed and can be freely shared. If the digital signature is valid, it confirms that the bitstream is indeed signed by the holder of the private key associated with the public key used for verification. The digital signature also ensures that the content of the bitstream has not been altered since the signature was created. Even a small change in the message would result in a completely different signature. -Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue have been associated with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. +Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue has been associated with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. ### Compliance with Domain-specific Language -If a bitstream to be signed is compliant with domain-specific language (for example XML) any inserted text to this bitstream must not break compliance with this language. For example, consider the [catalog.example.xml][catalog] document that we already used in previous examples. Let's try to add at the end a free-formatted text to this document, for example, a previously calculated hash value expressed as hexadecimal text. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text document and is not suitable for further processing when we expect the document to follow XML syntax rules. +If a bitstream to be signed is compliant with domain-specific language (for example XML) any inserted text to this bitstream must not break compliance with this language. For example, consider the [catalog.example.xml][catalog] document that we already used in examples. Let's try to add a free-formatted text at the end of this document, for example, a previously calculated hash value expressed as hexadecimal text encoded using ASCII standard. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text and is not suitable for further processing when we expect the document to follow XML syntax rules. -What can we do? We can surround this text with an element markup, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document complies with a certain schema, then this document will be rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. They will be very important to us. +What can we do? We can surround this text with an element markup, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document is compliant with a certain schema, then, as a consequence, this document is rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. It will be vital to us. ### Signing Process -First, let me remind you of the three goals we have. The first one is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. The second goal is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. This goal we call non-repudiation of the author. In this case, let me remind you of an example involving a wire transfer. It would be better for the bank to have a guarantee that the person issuing the wire transfer order will not be able to deny authorship of the order and blame someone fraud who transferred money. Last but not least purpose is to safeguard information from unauthorized access, ensuring confidentiality. The last goal can be enforced using the encryption already examined provided that the key distribution will support this. +First, let me remind you of the three goals we have. + +1. The first one is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. +2. The second goal is to safeguard information from unauthorized access, ensuring confidentiality. This goal can be enforced using the encryption already examined provided that the key distribution will support this. +3. Last but not least purpose is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. This goal we call non-repudiation of the author. In this case, let me remind you of an example involving a wire transfer. It would have been much better for the bank to have been sure that the person issuing the wire transfer order would not be able to deny authorship of the order and blame someone fraud who transferred money. -The following diagram shows how to achieve these goals +The following diagram shows how to achieve authorship non-repudiation of a bitstream ![Fig. 1 Digital Signature](.Media/PodpisCyfrowy.png) -In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is assumed to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, send the whole result to another place, archive it, and in any case make it available to other users of this bitstream. +In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, archive, or send the result to another place over a network. -To check its integrity and authorship, we can first recalculate the hash for the part that constitutes the source bitstream. This hash should be the same. To determine the initial hash value, it can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the decrypted initial hash value with the hash value that is calculated after receiving the bitstream. If these two hashes are the same, it means that the input bitstream has not been affected because the hash value is still the same. Since we used a public key that is paired with a private key, we can also conclude that a specific person created this stream. For any other person, this decryption operation will not produce an identical hash. +To check the bitstream integrity and authorship at the final location, we can first recalculate the hash value for the part that constitutes the source bitstream. This hash should be the same as the one recovered from the signature. To recover the hash value, namely, determine its initial value, the signature can be decrypted using the public key. The public key is associated with the private key (both are the keys pair), and we will then obtain the decrypted hash value calculated by the author of the bitstream. To check the correctness of the bitstream before further calculation, we can now compare the decrypted initial hash value with the hash value that is calculated after receiving the bitstream. If these two hash values are the same, it means that the input bitstream has not been affected because the hash value is still the same. Since we used a public key that is paired with a private key, we can also conclude that a specific identity created this stream. For any other identity, this decryption operation will not produce an identical hash value. -And now the last thing is how to ensure non-repudiation. How to ensure that the person who originally signed this stream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity that has the private key, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. +And now the last thing is how to ensure non-repudiation. How to ensure that the person who originally signed this bitstream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. -### Creation of Keys +### Creation of Keys Example -Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and indicates some methods on how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this section, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some negative impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. +Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and to point out how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this section, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some negative impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. -Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the program. It is not intended to be used for key distribution outside of the program hosting realm. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distributing the keys over the network. Anyway, in the investigated sample, all three forms of keys are returned as a result of this method. It is a redundant solution to show only possible implementations. +Once this object is created, the keys are generated. We can use these keys and we have three options. First, we can return the keys as an `RSParameters` object. An object of this class contains both private and public keys but is intended only for use inside the application. It is not intended to be used for key distribution outside of the application hosting realm. The next two lines show how to generate XML text that contains the keys. The XML form is suitable for archiving or distributing the keys over the network. Anyway, in the investigated sample, all three forms of keys are returned as a result of this method. It is a redundant solution to show only possible implementations. Let's go back to the [CreateRSACryptoServiceKeysTest][CreateRSACryptoServiceKeysTest] test method, where we check that the first variable is not `null`, so an object of the `RSAParameters` class is returned. We further check that the content of the XML documents - they are simply a text - that contains only the public key [PubliKey.xml][PubliKey] and the one that contains the public key and private key, are not the same. From the point of view of testing, these operations are not important, but they show how the `CreateRSACryptoServiceKeys` method works. -The XML document that contains both the public and the private keys is located in the file [PubliPrivateKeys.xml][PubliPrivateKeys]. Of course, in the case of a private key, identity information is not important because, by design, a private key is only used by the owner. +The XML document that contains both the public and the private keys is located in the file [PubliPrivateKeys.xml][PubliPrivateKeys]. Of course, in the case of a private key, identity information is not important because, by design, the private key is only used by the owner. + +The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (bitstream users), by design, the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by a trusted organization. The organization is an office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Unfortunately, discussing these issues in detail, as I said earlier, is far beyond the scope of this document. + +### XML Document Signing Example + +Let us now discuss how to implement the operation of signing an XML document and how to encapsulate the obtained signature in this document so as not to violate the rules of syntax control consistent with its schema. We are using XML but the same approach is available for any domain-specific language. First, we will need an input file that will serve as a signed source document. For this purpose, the file [catalog.example.xml][catalog] is used. We will also need the keys. We will use the private key to sign the document, precisely to encrypt the hash value calculated for the initial bitstream. We will use the public key to check the validity of the signature, precisely to decrypt the attached signature. -The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (bitstream users), by definition the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by the appropriate organization. The organization is an office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Unfortunately, discussing these issues in detail, as I said earlier, is far beyond the scope of this document. +The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] test method. This operation is implemented in the [SignSaveXml][SignSaveXml] method to which we passed the source document to be signed, the keys that will be used for signing, and the name of the document where the signed document is to be saved. In this method, apart from checking the correctness of the input arguments, we create an instance of the `RSACryptoServiceProvider` class, which is to be used to create a signature so that we can place the signature in this document. Signing itself means that we add a signature in the last instruction. To create this signature, we use the keys that we passed while invoking the method, so this instance is initialized with the keys that were passed here so that the entire signing process takes place using the keys that will be further used to check the signature. Finally, the signed document is saved to a file. -### XML Document Signing +So let's return to the [XmlSignatureTest][XmlSignatureTest] test method. We assume that we have already signed and saved the document in the file and now we can move on to discussing the methods that check the correctness of this document. There are two overloads of the [LoadVerifyXml][LoadVerifyXml] methods. Calling the first overload, we do not transfer the keys. It is worth emphasizing that the document is loaded and checked using the public key stored in it. With this solution, we do not have to bother providing the public key. Of course, with this type of checking, we cannot confirm the author's identity because anyone can enter such a public key. The only thing we can do is validate whether the document is consistent against this key. The second overload of this method uses the already passed keys and initializes the `RSACryptoServiceProvider` object, which is used to check the document authorship. -Let us now discuss how to implement the operation of signing an XML document and how to place the obtained signature in the document so as not to violate the rules of syntax control consistent with its schema. First, we will need an input file that will serve as a signed source document. For this purpose, we will use the file [catalog.example.xml][catalog]. We will also need the keys. We will use the public key to check the validity of the signature. However, we will use the private key to sign the document. +Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To fix it, the `Signature` element has to be removed from the XML document just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. -The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] test method. This operation is implemented in the [SignSaveXml][SignSaveXml] method to which we passed the source document to be signed, the keys that will be used for signing, and the name of the document where the signed document is to be saved. In this method, apart from checking the correctness of the input arguments, we create an object of the `RSACryptoServiceProvider` class, which will be used to create a signature so that we can place the signature in this document. Signing itself means that we add a signature in the last instruction. To create this signature, we use the keys that we passed while invoking the method, so this object is initialized with the keys that were passed here so that the entire signing process takes place using the keys that will be further used to check the signature. Finally, the signed document is saved to a file. +A `Signature` element complies with the XML Digital Signature standard, namely [XML Signature Syntax and Processing Version 1.1][XMLS] issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. -So let's go back to the [XmlSignatureTest][XmlSignatureTest] test method. We assume that we have already signed and saved the document in the file and now we can move on to discussing the methods that check the correctness of this document. There are two overloads of the [LoadVerifyXml][LoadVerifyXml] methods. Calling the first overload, we do not transfer the keys. It is worth emphasizing that the document is loaded and checked using the public key stored in this document. With this solution, we do not have to bother with providing the public key. Of course, with this type of checking, we cannot confirm the author's identity because anyone can enter such a public key. The only thing we can do is check whether the document is consistent against this key. The second overload of this method uses the already transferred keys and initializes the `RSACryptoServiceProvider` object, which is used to check the document authorship. +## Conclusion -Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To explain we must go back to the code for a while. To fix it, the `Signature` element has to be removed from the XML document just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. +We have already learned that there are two types of encryption. In the examples discussed in this chapter, only the asymmetric encryption method of the bitstreams is the subject of examination. Symmetric encryption has been the subject of the previous chapter covering the confidentiality of bitstreams. -A `Signature` element complies with the XML Digital Signature standard, namely XML Signature Syntax and Processing Version 1.1 issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. +In this part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. This section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used to create a safe hash value interchange channel. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties to establish a secure session. It is generated for a short duration to be used to establish a secure session allowing for encrypting and decrypting bitstreams exchanged between the communicating parties. Initially, session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. ## See Also +- Postol Mariusz; [Cybersecurity of External Streaming Data - Confidentiality][confidentiality] C# Corner, 2024. +- Postol Mariusz; [Cybersecurity of External Streaming Data - Integrity][CI] C# Corner, 2024. +- Postol Mariusz; [External Data Management (ExDM)][ExDM]; C# Corner, 2024 +- Postol Mariusz; [External Data - File and Stream Concepts][FileStream]; C# Corner, 2023 +- Postol Mariusz; [External Data - Attributes - Profiling Data Access][Attributes]; C# Corner, 2024 +- [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] - Information Computation means a process engaging a computer (a physical device) to process information as a series of actions or steps taken to achieve a particular result or help fulfill a task. The main challenge is that information is abstract. Precisely speaking, it is a kind of knowledge that cannot be processed directly by any physical device. Generally speaking, To resolve this inconsistency two main topics are covered. The first one refers to selected aspects of information modeling using types as descendants of a coding system. The second one covers program architecture design patterns to improve the design and deployment of the computer behavior description using a program implementing an algorithm. +- [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; The course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. +- [Programming in Practice; GitBook eBook](https://mpostol.gitbook.io/pip/) - The content of this eBook is auto-generated using the Markdown files collected in this repository. It is distributed online upon the open access rules. +- [Programming in Practice - GitHub repository][TPGitHub] +- [Discussion panel][Discussion] +- [Postol. M, profile on Udemy.com][MPUdemy] +- [Postol. M, profile on GitHub.com][MPGitHub] +- Join me on [LinkedIn][MPLinkedIn] +- Join me on [ORCID.org][orcid.org] +- Connect to [Programming in Practice Education LinkedIn Group][LinkedInPiP] +- [Generic implementation of the Blockchain agent in .NET][NBlockchain] - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] - [Generic implementation of the Blockchain agent in .NET][NBlockchain] - [Dependency Injection][DI] +- [XML Signature Syntax and Processing Version 1.1][XMLS]; W3C Recommendation; 11 April 2013 +[CI]: https://www.c-sharpcorner.com/article/cybersecurity-of-external-streaming-data-integrity/ +[confidentiality]: https://www.c-sharpcorner.com/article/cybersecurity-of-external-streaming-data-confidentiality/ +[ExDM]: https://www.c-sharpcorner.com/blogs/external-data-management-exdm +[FileStream]: https://www.c-sharpcorner.com/article/external-data-file-and-stream-concepts +[Attributes]: https://www.c-sharpcorner.com/article/external-data-attributes-profiling-data-access/ +[NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain +[udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 +[udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 +[TPGitHub]: https://github.com/mpostol/TP +[Discussion]: https://github.com/mpostol/TP/discussions +[orcid.org]: https://orcid.org/0000-0002-9669-0565 +[MPLinkedIn]: https://pl.linkedin.com/in/mpostol +[MPUdemy]: https://www.udemy.com/user/mariusz-postol/ +[MPGitHub]: https://github.com/mpostol +[LinkedInPiP]: https://www.linkedin.com/groups/7478959/ + +[XMLS]: https://www.w3.org/TR/xmldsig-core1/ [DI]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) -[NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain [CalculateSHA256]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 @@ -220,9 +264,7 @@ A `Signature` element complies with the XML Digital Signature standard, namely X [EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 [DecryptData]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 [CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 - [EncryptData]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 - [SignSaveXml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 [XmlSignatureTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 @@ -232,4 +274,4 @@ A `Signature` element complies with the XML Digital Signature standard, namely X [PubliKey]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 [catalog]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 [LoadVerifyXml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 -[SignedXmlFile]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 \ No newline at end of file +[SignedXmlFile]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 From 8c7366ef74d082bcca1b2aadc3c35dc887c562c5 Mon Sep 17 00:00:00 2001 From: MPostol Date: Wed, 31 Jan 2024 09:30:15 +0100 Subject: [PATCH 23/67] ExDM Add documentation to the selected parts of the code #369 - Finished READMECryptography.md - working on DataStreams/README.md - minor modification README.md --- ExDataManagement/DataStreams/README.md | 134 +++++++++--------- .../DataStreams/READMECryptography.md | 79 +++++------ README.md | 5 +- 3 files changed, 112 insertions(+), 106 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 0cea9c68..ad70143e 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -11,46 +11,46 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams - -- [Data Streams](#data-streams) - - [Key words](#key-words) - - [Introduction](#introduction) - - [File and Stream Concepts Preface](#file-and-stream-concepts-preface) - - [Useful Technologies](#useful-technologies) - - [Introduction](#introduction-1) - - [Data Presentation](#data-presentation) - - [Validation](#validation) - - [Standardization](#standardization) - - [BitStream Format](#bitstream-format) - - [Domain Specific Language (DSL)](#domain-specific-language-dsl) - - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) - - [Introduction](#introduction-2) - - [Visualization](#visualization) - - [Validation](#validation-1) - - [Standardization](#standardization-1) - - [JavaScript Object Notation (JSON)](#javascript-object-notation-json) - - [Introduction](#introduction-3) - - [Visualization](#visualization-1) - - [Validation](#validation-2) - - [Standardization](#standardization-2) - - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) - - [Introduction](#introduction-4) - - [Visualization](#visualization-2) - - [Validation](#validation-3) - - [BitStream Cybersecurity](#bitstream-cybersecurity) - - [TBD](#tbd) - - [Serialization](#serialization) - - [Fundamentals](#fundamentals) - - [Implementation](#implementation) - - [Preface](#preface) - - [Attributes](#attributes) - - [Reflection](#reflection) - - [Access to Object State Values](#access-to-object-state-values) - - [Self Controlled](#self-controlled) - - [Reflection-based](#reflection-based) - - [Graph of Objects Serialization](#graph-of-objects-serialization) - - [See Also](#see-also) +# Data Streams + +- [Key words](#key-words) +- [Introduction](#introduction) +- [File and Stream Concepts Preface](#file-and-stream-concepts-preface) +- [Useful Technologies](#useful-technologies) + - [Introduction](#introduction-1) + - [Data Presentation](#data-presentation) + - [Validation](#validation) + - [Standardization](#standardization) +- [BitStream Format](#bitstream-format) + - [Domain Specific Language (DSL)](#domain-specific-language-dsl) + - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) + - [Introduction](#introduction-2) + - [Visualization](#visualization) + - [Validation](#validation-1) + - [Standardization](#standardization-1) + - [JavaScript Object Notation (JSON)](#javascript-object-notation-json) + - [Introduction](#introduction-3) + - [Visualization](#visualization-1) + - [Validation](#validation-2) + - [Standardization](#standardization-2) + - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) + - [Introduction](#introduction-4) + - [Visualization](#visualization-2) + - [Validation](#validation-3) +- [BitStream Cybersecurity](#bitstream-cybersecurity) + - [TBD](#tbd) +- [Serialization](#serialization) + - [Fundamentals](#fundamentals) + - [Implementation](#implementation) + - [Preface](#preface) + - [Attributes](#attributes) + - [Reflection](#reflection) + - [Access to Object State Values](#access-to-object-state-values) + - [Introduction](#introduction-5) + - [Self Controlled](#self-controlled) + - [Reflection-based](#reflection-based) + - [Graph of Objects Serialization](#graph-of-objects-serialization) +- [See Also](#see-also) ## Key words @@ -215,29 +215,33 @@ In essence, you can create a new language by establishing a set of guidelines fo ### Fundamentals -We've already talked a bit about why we need bitstreams handled using files. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. Data transfer between applications is another use case. For example interoperability of a web server and a web browser. There is a virtual wire between them. We can only send bitstreams over this wire. The temporary and intermediate data repository is another example. These are just a few examples but let's limit the discussion to them because they are enough to justify the importance of this topic. +We need bitstreams to be handled using files to make sure that the data can be persisted. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. The temporary and intermediate data repository is another example. -Now we are ready to return to discussing issues directly related to streaming data. Above, we discussed the mechanisms of managing streams, especially in the context of files. We also realized the differences between bitstreams, text, and documents. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. +Data transfer between applications is another use case. It requires that data must be transferable. For example interoperability of a web server and a web browser. There is a virtual wire between them. -And here the first problem arises, namely the question of how to combine data formatted as objects with the bitstreams. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. +These are just a few examples but let's limit the discussion to them because they are enough to justify the importance of this topic. -Hence, to save/read working data from files we need generic operations that could automate this process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. +In the already mentioned use cases data must be in a form of bitstream. Now we are ready to return to discussing issues directly related to streaming data. Above, we discussed the mechanisms of managing streams, especially in the context of files. We also realized the differences between bitstreams, text, and documents. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. + +Here the first problem arises: combining reasoning about two concepts, namely data formatted as objects with the bitstreams. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. + +Hence, to save/read working data from files we need generic operations that could automate this transition process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided a reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. Let me remind you that so far we have noted that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of an object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. -Before we move to the next step, it is worth recognizing what we need. Here, from the object point of view, the list of requirements includes: +Before we move to the next step, it is worth recognizing what we need in this context. Here, from the object point of view, the list of requirements includes: - access to the data that will be the subject of the serialization - values that will constitute the state of the objects - the relationships between these objects -Next, we need to implement an algorithm that will describe in detail this data transformation, in such a way that this transformation is mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. The same we should state for deserialization. We will get back to this topic shortly. +Next, we need to implement an algorithm that will describe in detail this data transformation, in such a way that this transformation is mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. The same we should state for deserialization. We will get back to this issue shortly. -So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no measure of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. +So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no metrics of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to offer a generic implementation. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to assemble a custom washing machine using available parts, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case even if the mentioned parts are available. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. -In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contain data in the form of bitstreams. let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. +In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contain data in the form of bitstreams. Let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical bitstream. Then this bitstream can be compared, for example, to check whether the process is the same as before. It must be stressed that equivalence has no generic measure that can be used to evaluate equivalence condition. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures, for example unit tests. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. @@ -257,53 +261,55 @@ In order not to enter into purely theoretical considerations, let us return to t #### Preface -To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use serialization logic to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to define the state of objects subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are required. To implement the mentioned functionality access to the values holder that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. +To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to define the state of objects subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. #### Attributes -Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. +Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. Apart from the definition of an attribute, it also must be possible to associate attributes with a selected language construct. This association usually is realized as a syntax constraint. For example, an attribute is added as a prefix or a decoration of a target construct. -The language must also provide means to instantiate the attributes in the context of a construct to which additional data has been associated. By design, the reflection mechanisms must be used to instantiate attributes at run-time. +So the question is what is an attribute? The general answer is that it is a language construct. A programming language construct refers to a syntactical element or feature within a programming language. The constructs provide the building blocks for implementing algorithms for various problems in software development. -Again, let me stress, that the definition of attributes and association attributes with other programming language constructs must be compliant with the selected programming language syntax rules. +To avoid meaningless explanations and get straight to the point, further explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to provide a comprehensive explanation of the syntax and semantics of the attribute definition and use. A description of the code snippets is available in the document [Implementation Examples][ie]. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept is well suited to address selected issues related to the serialization/deserialization processes. -So the question is what is an attribute? The general answer is that it is a programming language definition. Detailed explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to explain the attribute creation and use. A description of the code snippets is available in the document [Implementation Examples][ie]. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept can be used also to implement the serialization/deserialization processes. +In the selected language any attribute definition is a class derived from the `System.Attribute` class. Hence, the programming language must also provide means to instantiate this class in the context of a selected construct to which additional data has been associated using attributes. By design, the reflection mechanisms must be used to instantiate attributes at run-time. #### Reflection -Reflection is the next very useful technology that may be employed to support serialization and deserialization implementation. We will only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, objects dynamic instantiation, method invocation, and recovering data wrapped by objects at run-time. +Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We will only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. -So, our task is to answer the question of how to automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. This, however, means that the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. for custom types that the user will define according to requirements of the application in concern. The only thing we can rely on are the types built into a selected programming language because they are immutable. +So, our task is to answer the question of how to make it autonomous and automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. It means the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. against custom types that the user will define according to requirements of the application in concern. The only thing we can rely on and reuse is the built-in types of a selected programming language because they are immutable. -If we need to deal with custom types that we do not know in advance, generally there are the following solutions that may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm. The next one is independent conversion of member values based on built-in custom functionality in new types. Finally, we may consider applying reflection, where type definitions become data for the program that can be the subject of recovery metadata and reading/assigning objects state values. +If we need to deal with custom types, which we do not know in advance the following solutions may be applied typically. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. -Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method however it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore it is not an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method. However, it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore cannot be recognized as an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. The language we have selected for education purposes is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. -We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from object form to stream form, so the transformation of an object graph requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires creating an instance of the object and populating it with values of its fields or properties to recover its state based on the data obtained during deserialization. +We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires creating instances of appropriate types contributing to the graph and populating them with values of its fields or properties to recover its state based on the data obtained during deserialization. The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. references. -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as [Type Class][system.type] instances. These instances can be created based on the type definition using the `typeof` keyword and objects of unknown type using the `GetType` instance method. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. ### Access to Object State Values -From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members contributing to the state of the object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. +#### Introduction + +From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer object data to a stream and from a stream to object data. From the above, we know how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is utilized to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. -We also talked about bitstream semantics and syntax using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and indirect semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. +We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also indirectly semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. #### Self Controlled -The first approach, compliant with the above scenario, is to locate this functionality internally of a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing the reflection by inheriting from the `ISerializable` interface. This interface acts as a contract between the target class to be serialized and the class that implements the serialization algorithm. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of the previous proposals. +The first approach, compliant with the above scenario, is to implement of this functionality internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. -The first issue that we can recognize is full autonomy of the serialization and deserialization process. In this approach we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which will be passed on to be written to the stream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. +The first issue that we can recognize is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. -The second issue is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. In the example discussed already, we see that we have two separate pieces of custom code that are responsible for this, and therefore any modification in one piece must be reflected in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect but it still does not solve this problem. +The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. from the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect but it still does not solve this problem. #### Reflection-based diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index d24d1e09..b55b65f7 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -11,35 +11,34 @@ //_____________________________________________________________________________________________________________________________________ --> -# Bitstream Cybersecurity - -- [Bitstream Cybersecurity](#bitstream-cybersecurity) - - [Introduction](#introduction) - - [Hash](#hash) - - [Preface](#preface) - - [Hash Function](#hash-function) - - [Hash Function Applicability Example](#hash-function-applicability-example) - - [Encryption](#encryption) - - [Introduction](#introduction-1) - - [Encryption fundamentals](#encryption-fundamentals) - - [Symmetric Cryptography Example](#symmetric-cryptography-example) - - [Conclusion](#conclusion) - - [Digital Signature](#digital-signature) - - [Preface](#preface-1) - - [Compliance with Domain-specific Language](#compliance-with-domain-specific-language) - - [Signing Process](#signing-process) - - [Creation of Keys Example](#creation-of-keys-example) - - [XML Document Signing Example](#xml-document-signing-example) - - [Conclusion](#conclusion-1) - - [See Also](#see-also) - -## Introduction +# Bitstream Cybersecurity + +- [1. Introduction](#1-introduction) +- [2. Hash](#2-hash) + - [2.1. Preface](#21-preface) +- [3. Hash Function](#3-hash-function) + - [3.1. Hash Function Applicability Example](#31-hash-function-applicability-example) +- [4. Encryption](#4-encryption) + - [4.1. Introduction](#41-introduction) + - [4.2. Encryption fundamentals](#42-encryption-fundamentals) + - [4.3. Symmetric Cryptography Example](#43-symmetric-cryptography-example) + - [4.4. Conclusion](#44-conclusion) +- [5. Non-repudiation](#5-non-repudiation) + - [5.1. Preface](#51-preface) + - [5.2. Compliance with Domain-specific Language](#52-compliance-with-domain-specific-language) + - [5.3. Signing Process](#53-signing-process) + - [5.4. Creation of Keys Example](#54-creation-of-keys-example) + - [5.5. XML Document Signing Example](#55-xml-document-signing-example) + - [5.6. Conclusion](#56-conclusion) +- [6. See Also](#6-see-also) + +## 1. Introduction Cybersecurity describes the practice of protecting computer systems, networks, and data from cyber threats. In this section, only cybersecurity related to bitstreams is considered. -## Hash +## 2. Hash -### Preface +### 2.1. Preface Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. For now, I mention this seemingly strange combination of topics to ask for your patience. Everything will be clear soon; I promise. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. @@ -49,7 +48,7 @@ However, the most important thing is that a bitstream is still a stream, so it i If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. -## Hash Function +## 3. Hash Function Let's move on to the first option for securing streams: the hash function. It is a function that transforms the input bitstream to calculate another fixed-size unique bitstream. A collision in a hash function occurs when two different inputs produce the same hash value as output. The next feature of the received output bitstream is that the reverse transformation, i.e. recovering the source bitstream is practically impossible. One way to use such a function is to associate this hash value with the bitstream we want to protect. Then the hash value can be used to check whether the bitstream has not been modified in the meantime by calculating this function again and comparing the result with the associated hash value with the source bitstream if the expanded bitstream is archived or sent from one place to another. A certain drawback of this solution is that the algorithms for these functions are widely known, so if a "man in the middle" wants to modify the source bitstream, they can modify the source bitstream and recalculate a new value of the hash function for the previously modified bitstream. @@ -61,7 +60,7 @@ Blockchain security helps ensure that if someone wants to modify one of the bloc This topic is far beyond the scope of this document, but if you are interested in getting more I encourage you to check out a dedicated GitHub repository [NBlockchain][NBlockchain]. There is a practical example of how to implement such a chain. -### Hash Function Applicability Example +### 3.1. Hash Function Applicability Example So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, two unit tests have been prepared. They use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, namely a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. Password may be associated with syntax and semantics to make it easier to remember but, fortunately, these syntax and semantics rules have no impact on the hash calculation. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method. The input parameter of this method is a sequence of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have associated an encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. @@ -77,9 +76,9 @@ a bitstream generated by the hash function is converted into two text forms. The In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a bitstream to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask. In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. -## Encryption +## 4. Encryption -### Introduction +### 4.1. Introduction It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore unauthorized persons shouldn't have access to it. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules and finally recover the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the notice back to the original music. This reversible transformation function we will call encryption. @@ -94,7 +93,7 @@ The first approach is to share the bitstream, for example, as a file, only with The second option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with this bitstream. This method we call encryption. In other words, encryption involves transforming or scrambling bitstreams to make the underlying information unavailable to unauthorized users. -### Encryption fundamentals +### 4.2. Encryption fundamentals Encryption is a reversible bitstream transformation function into another bitstream. The transformation or scrambling function rearranges or modifies the order of bits in a bitstream. This function is designed to introduce complexity and randomness into the data, making it difficult for unauthorized parties to interpret or understand without the appropriate decryption process. The goal is to enhance the security of the information being transmitted or stored. After encryption, the encoding, syntax, and semantics rules no longer apply to an output bitstream. So, as a consequence, no information can be associated with the obtained this way bitstream. The diagram below shows how it works. @@ -108,7 +107,7 @@ Symmetric encryption employs a single key for both encryption and decryption ope Asymmetric encryption, also known as public-key cryptography, involves a pair of keys, namely a public key used for encryption and a private key for decryption. Bitstreams encrypted with the public key can only be decrypted by the corresponding private key, ensuring secure interoperability. On the other hand, bitstreams encrypted with the private key can only be decrypted by the corresponding public key. -### Symmetric Cryptography Example +### 4.3. Symmetric Cryptography Example It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. The test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. @@ -132,7 +131,7 @@ And now we move on to the step where the file is decrypted. That one we created. So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using small chunks preserved in a buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read a file content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing the encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file that is the source file. -### Conclusion +### 4.4. Conclusion We have already learned that there are two types of encryption. In the examples discussed in this section, the symmetric encryption method of the bitstreams was the subject of examination. Asymmetric encryption will be the subject of the next section covering digital signature generation and validation. @@ -140,9 +139,9 @@ In the symmetric encryption, the encryption and decryption sides use identical k In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. The next section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties during a specific session. It is generated for a short duration and provides a secure means for encrypting and decrypting bitstreams exchanged between the communicating entities. Session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. -## Digital Signature +## 5. Non-repudiation -### Preface +### 5.1. Preface When talking about documents such as a wire transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. @@ -156,13 +155,13 @@ If the digital signature is valid, it confirms that the bitstream is indeed sign Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue has been associated with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. -### Compliance with Domain-specific Language +### 5.2. Compliance with Domain-specific Language If a bitstream to be signed is compliant with domain-specific language (for example XML) any inserted text to this bitstream must not break compliance with this language. For example, consider the [catalog.example.xml][catalog] document that we already used in examples. Let's try to add a free-formatted text at the end of this document, for example, a previously calculated hash value expressed as hexadecimal text encoded using ASCII standard. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text and is not suitable for further processing when we expect the document to follow XML syntax rules. What can we do? We can surround this text with an element markup, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document is compliant with a certain schema, then, as a consequence, this document is rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. It will be vital to us. -### Signing Process +### 5.3. Signing Process First, let me remind you of the three goals we have. @@ -180,7 +179,7 @@ To check the bitstream integrity and authorship at the final location, we can fi And now the last thing is how to ensure non-repudiation. How to ensure that the person who originally signed this bitstream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. -### Creation of Keys Example +### 5.4. Creation of Keys Example Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and to point out how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this section, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some negative impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. @@ -192,7 +191,7 @@ The XML document that contains both the public and the private keys is located i The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (bitstream users), by design, the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by a trusted organization. The organization is an office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Unfortunately, discussing these issues in detail, as I said earlier, is far beyond the scope of this document. -### XML Document Signing Example +### 5.5. XML Document Signing Example Let us now discuss how to implement the operation of signing an XML document and how to encapsulate the obtained signature in this document so as not to violate the rules of syntax control consistent with its schema. We are using XML but the same approach is available for any domain-specific language. First, we will need an input file that will serve as a signed source document. For this purpose, the file [catalog.example.xml][catalog] is used. We will also need the keys. We will use the private key to sign the document, precisely to encrypt the hash value calculated for the initial bitstream. We will use the public key to check the validity of the signature, precisely to decrypt the attached signature. @@ -204,13 +203,13 @@ Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile A `Signature` element complies with the XML Digital Signature standard, namely [XML Signature Syntax and Processing Version 1.1][XMLS] issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. -## Conclusion +### 5.6. Conclusion We have already learned that there are two types of encryption. In the examples discussed in this chapter, only the asymmetric encryption method of the bitstreams is the subject of examination. Symmetric encryption has been the subject of the previous chapter covering the confidentiality of bitstreams. In this part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. This section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used to create a safe hash value interchange channel. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties to establish a secure session. It is generated for a short duration to be used to establish a secure session allowing for encrypting and decrypting bitstreams exchanged between the communicating parties. Initially, session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. -## See Also +## 6. See Also - Postol Mariusz; [Cybersecurity of External Streaming Data - Confidentiality][confidentiality] C# Corner, 2024. - Postol Mariusz; [Cybersecurity of External Streaming Data - Integrity][CI] C# Corner, 2024. diff --git a/README.md b/README.md index 601cdc38..ceed5039 100644 --- a/README.md +++ b/README.md @@ -40,8 +40,9 @@ software engineering, sequential programming, software design, education, code e ### Preface ->The **main goal** of this repository is to turn today's students into tomorrow's advanced software developers and architects. ->The **main purpose** of this repository is to provide code extended examples for education purposes. +> **Programming in Practice** is a contribution to **Code Engineering**. Code Engineering, also known as programming, is the process of designing, developing, testing, and maintaining computer programs. It involves applying engineering principles and methodologies to writing the program text, also referred to as the code to ensure its reliability, efficiency, and scalability. Code engineering encompasses various stages, including requirements analysis, design, implementation, testing, deployment, and maintenance, all aimed at producing high-quality computer software that meets the needs of users or clients. +> The **main goal** of this repository is to turn today's students into tomorrow's advanced software developers and architects. +> The **main purpose** of this repository is to provide code extended examples for education purposes. My point is that we could distinguish between two kinds of education: From 44dddf85707776571fe40e5b8805742042613519 Mon Sep 17 00:00:00 2001 From: MPostol Date: Thu, 1 Feb 2024 23:16:29 +0100 Subject: [PATCH 24/67] ExDM Add documentation to the selected parts of the code #369 - Finished ExDataManagement/DataStreams/README.md --- ExDataManagement/DataStreams/README.md | 50 +++++++++++++++----------- 1 file changed, 29 insertions(+), 21 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index ad70143e..aa3e0be4 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -48,8 +48,9 @@ - [Access to Object State Values](#access-to-object-state-values) - [Introduction](#introduction-5) - [Self Controlled](#self-controlled) - - [Reflection-based](#reflection-based) + - [Attributes and Reflection](#attributes-and-reflection) - [Graph of Objects Serialization](#graph-of-objects-serialization) + - [Conclusion](#conclusion) - [See Also](#see-also) ## Key words @@ -261,7 +262,7 @@ In order not to enter into purely theoretical considerations, let us return to t #### Preface -To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to define the state of objects subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. +To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. #### Attributes @@ -275,23 +276,23 @@ To avoid meaningless explanations and get straight to the point, further explana In the selected language any attribute definition is a class derived from the `System.Attribute` class. Hence, the programming language must also provide means to instantiate this class in the context of a selected construct to which additional data has been associated using attributes. By design, the reflection mechanisms must be used to instantiate attributes at run-time. +Depending on the development environment, attributes are crucial in controlling how objects are serialized and deserialized. They allow to provide instructions for the serialization process. The attributes help customize the serialization process to meet specific requirements. Often dedicated attributes are added to the serialization frameworks to allow the addition of expected by the specific implementation control information. Using this framework, the exposed attributes may be associated with custom definitions. + #### Reflection -Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We will only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. +Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We can only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. So, our task is to answer the question of how to make it autonomous and automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. It means the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. against custom types that the user will define according to requirements of the application in concern. The only thing we can rely on and reuse is the built-in types of a selected programming language because they are immutable. -If we need to deal with custom types, which we do not know in advance the following solutions may be applied typically. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. +If we need to deal with custom types, which we do not know in advance typically the following solutions may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method. However, it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore cannot be recognized as an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. -The language we have selected for education purposes is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. - -We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires creating instances of appropriate types contributing to the graph and populating them with values of its fields or properties to recover its state based on the data obtained during deserialization. +The language we have selected is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. -The state of objects is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects. If the objects are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object. This also applies to those variables that store information about relationships between objects, i.e. references. +We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires the installation of appropriate types contributing to the graph and populating them with recovered values obtained during deserialization from the bitstream. -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. +The state of an object is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects by instantiating types. If the types are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object against its type. This also applies to those value holders that store information about relationships between objects, i.e. references. ### Access to Object State Values @@ -299,37 +300,40 @@ So much theory. It's time to move on to practical acquaintance with selected ref From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. -Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer object data to a stream and from a stream to object data. From the above, we know how to use attributes and reflection to ensure full autonomy of this process and harmonize the behavior of the process of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is utilized to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. +Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a stream and recover it from a stream to populate instantiated types. To accomplish this we can apply the following approaches: -We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also indirectly semantics of a document and to create the source code of a program that will be used in the serialization and deserialization process. +- **Self Controlled** values access mechanism +- **Attributes + reflection** values access mechanism #### Self Controlled -The first approach, compliant with the above scenario, is to implement of this functionality internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. +The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. -The first issue that we can recognize is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. +The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. -The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. from the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. The sample code could be slightly improved in this respect but it still does not solve this problem. +The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. -#### Reflection-based +#### Attributes and Reflection Using self-controlled management of the object state means splitting the functionality between the type to be subject to serialization/deserialization and library functionality, which serializes/deserializes the value of members independently. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a contract between both parties responsible for implementing commonly the serialization/deserialization functionality. The main problem is that the type to be subject to serialization/deserialization must be prepared against the contract defined by the implemented interface. -In case the type to be subject to serialization/deserialization is invisible this approach is not feasible. Instead of using a self-controlled approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from which you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. +Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. + +The rule that in the output stream all the values must be saved, which can read from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't constitute the object state. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data functionality are side by side in the same place, by using the same property. -The rule that we will remember in the output stream all the values that we can read from public properties that have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this type are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data to newly created objects are in the same place, by using the same property. +Summarizing, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. -To serialize objects of this class we use reflection and attributed programming. An example is described in the section [Implementation Examples][ie]. +Examples illustrating serialization using reflection and attributed programming are described in the section [Implementation Examples][ie]. ### Graph of Objects Serialization Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. -Generally, we can distinguish two types of these structures. The first one is hierarchical interconnection, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics, this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to these points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization of the same object. +Generally, we can distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. -Previously a graph of objects was presented as interconnected objects in such a way that they create a tree, or at least a layered model, therefore in this model, we can distinguish objects that are at the top and objects that are beneath in the hierarchy. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. +If a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model. Assuming unidirectional interconnections between the objects, we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. -But it often happens that we must deal with more demanding cases, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. +Unfortunately, often happens that we must deal with more demanding structures, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. ![Fig. 1](.Media/Part3-N80-10-Diagram.png) @@ -341,6 +345,10 @@ Another issue that should be addressed here is when the serialization process sh In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. +### Conclusion + +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. + ## See Also - [XSL\(T\) Languages][XSLW3C] From 46e12ffc50740d33223fb91cec929149c0fc27af Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 25 Feb 2024 16:33:50 +0100 Subject: [PATCH 25/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - backup copy --- .../DataStreams.UnitTest/README.md | 72 +++--- .../DataStreams/DataStreams/README.md | 206 +++++++++--------- ExDataManagement/DataStreams/README.md | 174 ++++++++------- ExDataManagement/README.md | 47 ++-- README.md | 2 +- 5 files changed, 270 insertions(+), 231 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md index f464744b..b6d21074 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -11,11 +11,33 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams - Usage - -Let's try this piece of program is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption 'Today is` with the inscription `today is` ❓ and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. - -## File and Stream Concepts +# Data Streams - Usage + +## Table of Content + +- [1. Introduction](#1-introduction) +- [2. File and Stream Concepts](#2-file-and-stream-concepts) + - [2.1. FileExample class](#21-fileexample-class) +- [3. Stream class](#3-stream-class) +- [4. Useful Technologies](#4-useful-technologies) + - [4.1. Validation](#41-validation) + - [4.2. Visualization](#42-visualization) + - [4.3. Reflection](#43-reflection) + - [4.4. Attributes](#44-attributes) +- [5. Serialization](#5-serialization) + - [5.1. Reflection-Based Serialization Example](#51-reflection-based-serialization-example) + - [5.1.1. SerializationUnitTest](#511-serializationunittest) +- [6. Cryptography basics](#6-cryptography-basics) + - [6.1. Hash](#61-hash) + - [6.2. Encryption](#62-encryption) + - [6.3. Digital Signature](#63-digital-signature) +- [7. See Also](#7-see-also) + +## 1. Introduction + +Let's try this piece of program is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the inscription `today is` ❓ and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. + +## 2. File and Stream Concepts I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. @@ -23,7 +45,7 @@ Let us examine the behavior of files using a specific programming example. Here So what's important to emphasize here is that the File class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. -### FileExample class +### 2.1. FileExample class The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class. The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. @@ -31,7 +53,7 @@ The next line does not add much to the considerations regarding the use of files In the next lines of the program, we write to the file. The file, as I have already said, is represented by a stream (`Stream`), and to write data to it first, we must prepare it. -## Stream class +## 3. Stream class We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. @@ -41,7 +63,17 @@ Since a stream of characters must be prepared in some way to be saved in a file, The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. -## Serialization +## 4. Useful Technologies + +### 4.1. Validation + +### 4.2. Visualization + +### 4.3. Reflection + +### 4.4. Attributes + +## 5. Serialization The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. @@ -53,7 +85,7 @@ Reflection-based serialization is a technique in software engineering where the ____________ -### Reflection-Based Serialization Example +### 5.1. Reflection-Based Serialization Example This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. @@ -75,29 +107,19 @@ We can now check whether the result is consistent with our expectation, i.e. whe There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. -#### SerializationUnitTest +#### 5.1.1. SerializationUnitTest Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. -## Useful Technologies - -### Validation - -### Visualization - -### Reflection - -#### Attributes - -## Cryptography basics +## 6. Cryptography basics -### Hash +### 6.1. Hash -### Encryption +### 6.2. Encryption -### Digital Signature +### 6.3. Digital Signature -## See Also +## 7. See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 03ceb66a..6b6e505e 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -11,34 +11,36 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams Implementation Examples - -- [Data Streams Implementation Examples](#data-streams-implementation-examples) - - [External Data Preface](#external-data-preface) - - [File and Stream Concepts](#file-and-stream-concepts) - - [Operating System Context](#operating-system-context) - - [Program Context](#program-context) - - [XML-based Presentation](#xml-based-presentation) - - [XML-based Validation](#xml-based-validation) - - [XML-based Classes Generation](#xml-based-classes-generation) - - [Attributes](#attributes) - - [Profiling Development Environment](#profiling-development-environment) - - [Attribute Definition](#attribute-definition) - - [Attribute Use Based Directly on Type Definition](#attribute-use-based-directly-on-type-definition) - - [Attribute Use Based Indirectly on Type Instance](#attribute-use-based-indirectly-on-type-instance) - - [Summary](#summary) - - [Managing an Object State](#managing-an-object-state) - - [Preface](#preface) - - [Self Controlled Object State](#self-controlled-object-state) - - [Reflection-base Object State](#reflection-base-object-state) - - [✍🏻 Reflection-base Object State](#-reflection-base-object-state) - - [Bitstream protection](#bitstream-protection) - - [Hash](#hash) - - [Encryption](#encryption) - - [Digital Signature](#digital-signature) - - [See Also](#see-also) - -## External Data Preface +# Data Streams Implementation Examples + +## Table of Content + +- [1. Streaming Data Preface](#1-streaming-data-preface) +- [2. File and Stream Concepts](#2-file-and-stream-concepts) + - [2.1. Operating System Context](#21-operating-system-context) + - [2.2. Program Context](#22-program-context) + - [2.3. XML-based Presentation](#23-xml-based-presentation) + - [2.4. XML-based Validation](#24-xml-based-validation) + - [2.5. XML-based Classes Generation](#25-xml-based-classes-generation) +- [3. Attributes](#3-attributes) + - [3.1. Profiling Development Environment](#31-profiling-development-environment) + - [3.2. Attribute Definition](#32-attribute-definition) + - [3.3. Attribute Use Based Directly on Type Definition](#33-attribute-use-based-directly-on-type-definition) + - [3.4. Attribute Use Based Indirectly on Type Instance](#34-attribute-use-based-indirectly-on-type-instance) + - [3.5. Summary](#35-summary) +- [4. Objects Serialization](#4-objects-serialization) + - [4.1. Introduction](#41-introduction) + - [4.2. Self-controlled](#42-self-controlled) + - [4.3. Attributes and Reflection](#43-attributes-and-reflection) + - [4.4. Reflection-base Object State](#44-reflection-base-object-state) +- [5. Bitstream Cybersecurity](#5-bitstream-cybersecurity) +- [6. See Also](#6-see-also) + +## 1. Key words + +Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, Serialization, Validation,Visualization + +## 1. Streaming Data Preface The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. In general, the external data may be grouped as follows: @@ -48,27 +50,27 @@ The external data is recognized as the data we must pull or push from outside of This section collects descriptions of examples explaining the usage of the **streaming** data. -## File and Stream Concepts +## 2. File and Stream Concepts -### Operating System Context +### 2.1. Operating System Context -Let's look at the `.Media` folder containing files used in the examples: +Using the file explorer let's get details about the `.Media` folder containing files used in the examples: ![Fig. MediaFolderAnimated](../.Media/MediaFolderAnimated.gif) We have different files there, but similar descriptive data, i.e. metadata, are defined for all of them. Among these data, `Name`, `Date`, `Type`, `Size`, `Data created`, and much other information that may be useful, but the most important thing is, of course, the content of the file. -After double-clicking on the selected file an image will appear. +After double-clicking on the selected file (for example `PodpisCyfrowy.png`) an image will appear. ![PC](../.Media/PodpisCyfrowy.png) -Here we may ask a question - how to describe this behavior? Well, a program was launched. This program must have been written by some programmer. The program opens the file as input data, so the programmer had to know the syntax and semantics rules that were used in this file. The data contained in the file makes it possible to show the content graphically on the computer screen. This is the first example of graphical representation, but we will return to this topic later. +Here we may ask a question - how to describe this behavior? Well, a program was launched. This program must have been written by a programmer. The program opens the file as input data formatted as a bitstream, so the programmer had to know the syntax and semantics rules that were used in this file. The data contained in the file makes it possible to show the content graphically on the computer screen. This is the first example of graphical representation, but we will return to this topic later. -### Program Context +### 2.2. Program Context -Using code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. From this example, it could be learned that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is represented as a bitstream, or rather the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). +Using a code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. We can learn from this example that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is formatted as a bitstream and represented by the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). -### XML-based Presentation +### 2.3. XML-based Presentation Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. First answer we know from the examples above, namely the bitstream must be compliant with a well-known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human-readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: @@ -86,15 +88,15 @@ After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] i ``` -This XML declaration defines an additional document that is a stylesheet document and it contains a detailed description that allows to convert the source XML document into other text-based document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document +This XML declaration defines an additional document that is a stylesheet document and it contains a detailed description that allows to convert the source XML document into other text-based document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document. -### XML-based Validation +### 2.4. XML-based Validation If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstream correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by the possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. To better understand these issues, let's look at them in the context of an example [catalog.example.xml][catalogexamplexml]. The following discussion is scoped to the XML format but the presented approach should be recognized as a universal one. -The XML (Extensible Markup Language) is a language that defines syntax rules. For example, in the mentioned above XML text after replacing the closing name of the `CD` element (by `CD1` instead of `CD` for example) we get an XML syntax error. Syntax error means that the file is not compliant with the XML standard and should not be used anymore. But after replacing the name of the opening markup of the element with the same `CD1` name then this file is correct in the context of the XML syntax. However, it is difficult to imagine that two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file complies with the XML standard, with the XML syntax. However, it does not represent the semantics we would expect. +The XML (Extensible Markup Language) is a language that defines syntax rules. For example, in the mentioned above XML text after replacing the closing name of the `CD` element (by `CD1` instead of `CD` for example) we get an XML syntax error. Syntax error means that the file is not compliant with the XML standard and should not be used anymore. But after replacing the name of the opening markup of the element with the same `CD1` name then this file is correct in the context of the XML syntax. However, it is difficult to imagine that two subsequent elements will have different names but will represent the same information. So at this point, we can say that this file is compliant with the XML standard, with the XML syntax. However, it does not represent the semantics we would expect. Adding these attributes causes it to refer to the XML schema. @@ -110,7 +112,7 @@ Adding these attributes causes it to refer to the XML schema. The XML Schema allows to define additional syntax rules that will be used to check XML text against these rules. The syntax rules for the XML file must be met in a valid XML document. Hence, we can say that without the XML schema, it is just XML text. After adding schema we can define how to construct the document that is to be verified using this additional schema document. After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for further processing. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax rules, which should be derived from the document semantics. -### XML-based Classes Generation +### 2.5. XML-based Classes Generation If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages or by different people. In this case, the problem arises of how to create types in other development environments that will represent the same information. Since we recognized the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. @@ -126,13 +128,13 @@ As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Cata // ``` -In conclusion, thanks to the application of the XML schema XML documents can be verified against additional syntax rules, and appropriate definitions in various languages may be generated, ensuring data conversion between various technologies and different programming platforms. +In conclusion, thanks to the application of the XML schema, XML documents can be verified against additional syntax rules, and appropriate definitions in various languages may be generated, ensuring data conversion between various technologies and different programming platforms. -## Attributes +## 3. Attributes -### Profiling Development Environment +### 3.1. Profiling Development Environment -Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of syntax errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used in the program any further. This way we try to fix an issue by preventing referencing of inadequate code instead of replacing it. In other words, there will be no further references to it in new programs. +Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used in the program any further. This way we try to fix an issue by preventing referencing of inadequate code instead of replacing it. In other words, there will be no further references to it in new programs. We may use the `Obsolete` attribute for this purpose. To observe this attribute and the effects it causes, let's open a test window and add a test method. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports a warning. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. @@ -140,7 +142,7 @@ This warning should make us use some other alternative solutions. Of course, we The F12 key takes us to the definition and we see that the attribute is a class that is derived from the [Attribute][system.attribute] class. Now we can formulate a key question; whether we can define our attributes, which we may use to associate additional information with code in a declarative way to be used at run-time. -### Attribute Definition +### 3.2. Attribute Definition To create a custom attribute I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the [System.Attribute][system.attribute] base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify the following things: @@ -148,11 +150,11 @@ To create a custom attribute I have created an additional [CustomAttribute][Cust - how the information is to be represented using types - how to restrict the location of attribute usage -The first two tasks - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (data type selection) and adding appropriate properties (value holders) that will convey this data. In this example, it is the `Description` property, which is of type `string`. This way some descriptions expressed in natural language may be added to the target construct. Notice that also a constructor is added here, which is responsible for initializing this description when the attribute is instantiated. +The first two tasks - related to the selection of information that is to be conveyed using an attribute can be achieved by choosing how this information is to be represented (data type selection) and adding appropriate properties (value holders) that will convey this data. In this example, it is the `Description` property, which is of the `string` type. This way some descriptions expressed in natural language may be added to the target construct. Notice that also a constructor is added here, which is responsible for initializing this description when the attribute is instantiated. The next task of how to restrict attribute usage may be accomplished by associating an existing, dedicated attribute with a definition of a new attribute class. It is a message to the compiler. In other words, we use an existing attribute to define a new one. The [AttributeUsage][AttributeUsage] attribute is predefined by the built-in definitions of the C# programming language that allows expressing where adding a new attribute makes sense. -And here's a crucial note about terminology. I used the term attribute for both +And here's a crucial note about terminology. I have used the term attribute for both - to name a class that is derived from the [System.Attribute][system.attribute] base class - as an identifier that is used elsewhere and surrounded between square brackets @@ -165,23 +167,23 @@ Keeping in mind that the newly created attribute is a class, let's try to use it From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a constructor call. Unfortunately, the detailed discussion of these linguistic constructs syntax is beyond the scope of the article. To possibly fill in a gap in this respect, I recommend the C# language user manual. To make the discursion generic, from now on, we will only focus on the semantics, i.e. on the meaning, of these entries. -### Attribute Use Based Directly on Type Definition +### 3.3. Attribute Use Based Directly on Type Definition So let's add a test method [AttributedClassTypeTest][AttributedClassTypeTest] in a test class, in which the code will refer to [AttributedClass][AttributedClass] that has been associated with an attribute. To refer to the type the [typeof][typeof] keyword is applied. As a result of using [typeof][typeof] an object of the [Type][system.type] type is instantiated for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of the [Type][system.type] type that will contain a reference to the object representing the [AttributedClass][AttributedClass] class definition. Notice that to avoid code cloning the main test functionality is gathered in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttributes` instance method. Additionally, in this case, it is specified that we are only interested in attributes of the selected type. We can then determine that there is returned an array with exactly one element in it. This element is of the [CustomAttribute][CustomAttribute] type, i.e. the type we associated with the class as a class attribute. Therefore, we can return to the discussion about semantics, i.e. the meaning of the notation between square brackets. We see that the `GetCustomAttributes` method creates objects. Objects that are associated with selected language construct, in this case, [AttributedClass][AttributedClass]. It looks the same as if we used the `new` keyword to create an object of the [CustomAttribute][CustomAttribute] class. After creating the object it can be used as if it had been created using the `new` keyword. -So, once again, back to the heart of the topic. We can ask what role this linguistic construct plays - where the class name is placed between square brackets. This class has to be an attribute, i.e. a class that is derived from the [System.Attribute][system.attribute] class. We see that the main purpose of this construct is to describe the instantiation of an object, and therefore answers the question of how to create an object. This way we can conclude that it is equivalent to the constructor call, which is typically placed after the `new` operator. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. +So, once again, back to the nutshell of the topic. We can ask what role this linguistic construct plays - where the class name is placed between square brackets. This class has to be an attribute, i.e. a class identifier that is derived from the [System.Attribute][system.attribute] class. We see that the main purpose of this construct is to describe the instantiation of an object, and therefore answers the question of how to create an object and populate it with the state values. This way we can conclude that it is equivalent to the constructor call, which is typically placed after the `new` operator. Here it plays the same role except that it is not part of the expression in the assignment statement. Hence it has to provide all values for the constructor and initial parameter for the members of the attribute class. The [AttributedClass][AttributedClass] class is preceded by the [CustomAttribute][CustomAttribute]. In the unit test, we have the [AttributedClassTypeTest][AttributedClassTypeTest] test method, which proves how to retrieve features of the definitions of this type by creating an instance of the [Type][system.type] type. The main testing stuff has been aggregated in the [GoTest][GoTest] method to reuse this functionality and avoid code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (instances of classes derived from the [System.Attribute][system.attribute] base type) that are created as a result of the `GetCustomAttributes` operation. In this approach, the identifier of the type definition is directly used. In this code snippet, the [typeof][typeof] is an operator, which is used to instantiate an object that represents metadata of a type, utilizing the identifier of an attribute type definition. The argument to the [typeof][typeof] operator must be the name of a type definition. -### Attribute Use Based Indirectly on Type Instance +### 3.4. Attribute Use Based Indirectly on Type Instance -In the above example [AttributedClassTypeTest][AttributedClassTypeTest] there is a weak point. Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms in such a way that we do not have to refer directly to the type definitions because we simply do not know them. In general, we must assume that the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal with objects whose types we do not know. +In the above example [AttributedClassTypeTest][AttributedClassTypeTest] there is a weak point. Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms avoiding direct reference to the type definitions because we have to assume that the definition is invisible, hence we cannot use the keyword `typeof`. In general, we must assume that the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal at run-time with objects whose types we do not know. -To prepare an example that resembles the above scenario, I have added the [Siyova16][Siyova16] class with all identifiers created randomly by a password generator. The main idea of creating a random definition is to give the impression and stress that there is no need to refer directly to them while implementing the required functionality. To create a generic solution the reality is that we need to be prepared for a situation where referencing identifiers directly is impossible. The reflection can be applied to both cases, so we can investigate it using a simplified case. +To prepare an example that resembles the above scenario, I have added the [Siyova16][Siyova16] class with all identifiers created randomly by a password generator to stress that we should avoid using them as members of a type definition. The main idea of creating a random definition is to give the impression and stress that there is no need to refer directly to them while implementing the required functionality. To create a generic solution the reality is that we need to be prepared for a situation where referencing identifiers directly is impossible. The reflection can be applied to both cases, so we can investigate it using a simplified case. -To continue building an example in which we will show how to operate on objects of unknown types, I have inserted the [ObjectFactory][ObjectFactory] class. The main task of this class is to create objects of random type. Precisely, the objects are only of different types, but they have one thing in common, namely they are preceded by the same [CustomAttribute][CustomAttribute] attribute. The [AttributedClassInstanceTest][AttributedClassInstanceTest] test shows that it is possible to detect this feature without referring to identifiers associated with the object type. For this purpose, it mimics the creation of objects of various types using the dedicated [ObjectFactory][ObjectFactory] class. Regardless of the object type, the same [GoTest][GoTest] test method is performed, which checks the presence of the selected attribute. For this purpose, an enumeration type is defined in this class, in which the values are also random. It is worth stressing that there is no direct relationship between the enum identifier and the identifier of the instantiated type. +To continue building an example in which we will show how to operate on objects of unknown types, I have defined the [ObjectFactory][ObjectFactory] class. The main task of this class is to create objects of pseudo-random type. Precisely, the objects are only of different types, but they have one thing in common, namely, they are preceded by the same [CustomAttribute][CustomAttribute] attribute. The [AttributedClassInstanceTest][AttributedClassInstanceTest] test shows that it is possible to detect this feature without referring to identifiers associated with the object type. For this purpose, it mimics the creation of objects of various types using the dedicated [ObjectFactory][ObjectFactory] class. Regardless of the object type, the same [GoTest][GoTest] test method is performed, which checks the presence of the selected attribute. For this purpose, an enumeration type is defined in this class, in which the values are also randomly generated. It is worth stressing that there is no direct relationship between the enum identifier and the identifier of the instantiated type. The [ObjectFactory][ObjectFactory] method is responsible for creating objects of various types. Because it creates objects of different not related to each other types, the return value must be of the `object` type, which allows returning objects of any type. Therefore, after calling [ObjectFactory][ObjectFactory] we don't know the type of the returned instance. Hiding the type of the created objects is intended to mimic operation on unknown types. Of course, this is just a simulation for this particular example to make the example as simple as possible. I want to emphasize that the tests are solely used to demonstrate certain features and the possibility of using reflection for serialization/deserialization. @@ -189,35 +191,48 @@ To show how to operate on objects without referring directly to their type defin How to recover the features of a type referring directly to this type we already know. This can be done by creating a [Type][system.type] instance for the selected type definition using the [typeof][typeof] keyword and an identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the [Object][Object] type comes in handy. Let me remind you that this operation is inherited from the [Object][Object] base class. It is the ultimate base class of all .NET classes; it is the root of the type hierarchy. So in our case, reflection starts when an instance of [Type][system.type] is created using the `GetType` method. It should be emphasized here that based on this example, we can conclude that reflection is related even to the [Object][Object] base type. -### Summary +### 3.5. Summary To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][system.type] abstract type, which holds a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the [typeof][typeof] keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest] to avoid text cloning. -## Managing an Object State +## 4. Objects Serialization -### Preface +### 4.1. Introduction -To implement serialization/deserialization there is one more issue to discuss, namely how to mange the state of an object, i.e. reading and writing values to its members without directly referring to its type. The main problem is that if the type is not visible we do not have knowledge about its members. To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to a property defined as a member of a type. +To implement serialization/deserialization there is one more issue to discuss, namely how to manage the state of an object, i.e. reading and writing values to its selected members without directly referring to its type. The main problem is that if the concrete type is not visible we do have access to its members. We will analyze two approaches to implement this algorithm: -### Self Controlled Object State +- **self controlled** - The type exposes functionality that enables reading from and assigning to properties constituting the state +- **attributes and reflection** - metadata added by attributes to select state contributors and reflection that enables reading from and assigning to properties constituting the state -The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression executed against values stored locally. This example shows that to recreate an object of this class, we only need to transform only two values because the third one is always calculated, so there is no need to remember it in the bitstream. The constructor of this class initializes the initial values of this class when the object is created. +### 4.2. Self-controlled -To transform an instance of this class (to serialize it), first, an attribute has to be associated with this class that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. We already know a condition that must be fulfilled thanks to these values. Theoretically, it enables the selection of them. The question is how to do it. +To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to properties defined as a member of a type that is a candidate to be serialized. -The first approach to selecting values contributing to the object state is to have built-in functionality allowing the selection of appropriate values. It means moving this responsibility to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. +The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression executed against values stored locally. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to preserve it in the bitstream. The constructor of this class is responsible for recovering the initial values (state) of this class when the object is created. -In this test class, we create an object of the class that is to be serialized. In the next step, we must have a library class that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. +To transform an instance of this class (to serialize it), first, an attribute has to be associated with it that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. The question is how to do it. + +The first approach to selecting values contributing to the object state is to have built-in functionality in the target type allowing the selection of appropriate values. It means moving the responsibility of state selection to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. + +In this test class, we create an object of the target class that is to be serialized. In the next step, we must have a library class that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to manually examine its content. -But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and it implements many operations to avoid cloning code and to provide the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and use custom functionality allowing to read values that contribute to the object state. Thanks to this, we can retrieve them from this object using the `GetObjectData` operation. +But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and it implements many operations to avoid cloning code and implementing the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and, instead, use embedded functionality allowing to read values that contribute to the object state. Thanks to implementing `ISerializable`, we can retrieve them from this object using the `GetObjectData` operation. + +Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical programming means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. + +It is worth emphasizing that in our example we only write `double` values and it is a reason that only the `WriteDouble` method has been implemented. It creates an instance of the `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. -Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical pragmatical means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. +To implement deserialization we must create an instance of the type and populate value holders to initialize the object state. To implement this functionality the dedicated [SelfControlSerialization][SelfControlSerializationConstructor] constructor must be provided. -It is worth emphasizing that in our example we only write `double` values and it is a reason that only the `WriteDouble` method has been implemented. It creates an instance of `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but we assume here that it must implement the `ISerializable` interface, and therefore must provide an implementation of the `GetObjectData` operation method. +The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the `ISerializable` interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. -### Reflection-base Object State +```csharp +public interface ISerializable +``` + +### 4.3. Attributes and Reflection To prepare this example, let's use a previously defined class [Siyova16][Siyova16] that has a random name and several properties defined. All the members names are also random. The main goal of using a random definition is to explain how to deal with invisible types. @@ -225,9 +240,9 @@ In the test project, the `ReflectionUnitTest` test class includes the [AttachedP In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a target object of type [Siyova16][Siyova16] that is to be controlled. It is worth emphasizing that creating the target object is redundant here because, in a real scenario, we should assume that the object is already created elsewhere. In the next step, a surrogate object as a wrapper of the target object is created. The surrogate object functionality is to enable reading and writing to the selected property from the target object without referring to the type of the target object. The expected behavior of the wrapper class is that the `Value` property can be assigned to and read from. These values are transferred transparently to and from the target object that is passed to it as an actual parameter of the constructor. -The functionality enabling the possibility to get access to a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] . The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target typeof the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the [Type][system.type] type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. +The functionality enabling the possibility to get access to a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] . The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target type of the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the [Type][system.type] type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. -### ✍🏻 Reflection-base Object State +### 4.4. Reflection-base Object State Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. @@ -239,15 +254,11 @@ As an example of reflection based data values access is the [Catalog][Catalog] c Let me stress again that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties without directly referencing the type definition. Additionally, in general, they don't have to be properties. -## Bitstream protection - -### Hash - -### Encryption +## 5. Bitstream Cybersecurity -### Digital Signature +- [In the file READMECryptography](..\READMECryptography.md) -## See Also +## 6. See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] @@ -261,36 +272,37 @@ Let me stress again that we have two issues that we need to resolve. The first o [AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 -[FileExample]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 +[FileExample]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 -[AttachedProperty]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 +[AttachedProperty]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 -[AttributedClass]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L17-L24 -[CustomAttribute]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 +[AttributedClass]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L17-L24 +[CustomAttribute]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 -[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 -[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 -[ObjectFactory]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 -[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 -[Siyova16]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 -[typeof]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 -[CustomAttributeTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 -[GoTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 +[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 +[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 +[ObjectFactory]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 +[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 +[Siyova16]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 +[typeof]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 +[CustomAttributeTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 +[GoTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 -[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 +[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 -[CustomFormatter]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 +[CustomFormatter]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter -[SelfControlSerialization]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 -[Catalog]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 -[Catalog.cs]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 +[SelfControlSerialization]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 +[Catalog]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +[Catalog.cs]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 -[IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 -[XmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 +[IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 +[XmlFile]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 -[GoCS]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 +[GoCS]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 -[catalogexamplexml]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[catalogexamplexml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 [Object]: https://learn.microsoft.com/dotnet/api/system.object +[SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index aa3e0be4..c4d23ace 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -13,59 +13,55 @@ # Data Streams -- [Key words](#key-words) -- [Introduction](#introduction) -- [File and Stream Concepts Preface](#file-and-stream-concepts-preface) -- [Useful Technologies](#useful-technologies) - - [Introduction](#introduction-1) - - [Data Presentation](#data-presentation) - - [Validation](#validation) - - [Standardization](#standardization) -- [BitStream Format](#bitstream-format) - - [Domain Specific Language (DSL)](#domain-specific-language-dsl) - - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) - - [Introduction](#introduction-2) - - [Visualization](#visualization) - - [Validation](#validation-1) - - [Standardization](#standardization-1) - - [JavaScript Object Notation (JSON)](#javascript-object-notation-json) - - [Introduction](#introduction-3) - - [Visualization](#visualization-1) - - [Validation](#validation-2) - - [Standardization](#standardization-2) - - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) - - [Introduction](#introduction-4) - - [Visualization](#visualization-2) - - [Validation](#validation-3) -- [BitStream Cybersecurity](#bitstream-cybersecurity) - - [TBD](#tbd) -- [Serialization](#serialization) - - [Fundamentals](#fundamentals) - - [Implementation](#implementation) - - [Preface](#preface) - - [Attributes](#attributes) - - [Reflection](#reflection) - - [Access to Object State Values](#access-to-object-state-values) - - [Introduction](#introduction-5) - - [Self Controlled](#self-controlled) - - [Attributes and Reflection](#attributes-and-reflection) - - [Graph of Objects Serialization](#graph-of-objects-serialization) - - [Conclusion](#conclusion) -- [See Also](#see-also) - -## Key words - -Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, XML Serialization, Data Validation, Data Visualization - -## Introduction +## Table of Content + +- [1. Introduction](#1-introduction) +- [2. File and Stream Concepts Preface](#2-file-and-stream-concepts-preface) +- [3. Useful Technologies](#3-useful-technologies) + - [3.1. Introduction](#31-introduction) + - [3.2. Data Presentation](#32-data-presentation) + - [3.3. Validation](#33-validation) + - [3.4. Standardization](#34-standardization) +- [4. BitStream Format](#4-bitstream-format) + - [4.1. Domain Specific Language (DSL)](#41-domain-specific-language-dsl) + - [4.2. Extensible Markup Language (XML) Format](#42-extensible-markup-language-xml-format) + - [4.2.1. Introduction](#421-introduction) + - [4.2.2. Visualization](#422-visualization) + - [4.2.3. Validation](#423-validation) + - [4.2.4. Standardization](#424-standardization) + - [4.3. JavaScript Object Notation (JSON)](#43-javascript-object-notation-json) + - [4.3.1. Introduction](#431-introduction) + - [4.3.2. Visualization](#432-visualization) + - [4.3.3. Validation](#433-validation) + - [4.3.4. Standardization](#434-standardization) + - [4.4. Yet Another Markup Language (YAML)](#44-yet-another-markup-language-yaml) + - [4.4.1. Introduction](#441-introduction) + - [4.4.2. Visualization](#442-visualization) + - [4.4.3. Validation](#443-validation) +- [5. Objects Serialization](#5-objects-serialization) + - [5.1. Fundamentals](#51-fundamentals) + - [5.2. Implementation](#52-implementation) + - [5.2.1. Preface](#521-preface) + - [5.2.2. Attributes](#522-attributes) + - [5.2.3. Reflection](#523-reflection) + - [5.3. Access to Object State Values](#53-access-to-object-state-values) + - [5.3.1. Introduction](#531-introduction) + - [5.3.2. Self Controlled](#532-self-controlled) + - [5.3.3. Attributes and Reflection](#533-attributes-and-reflection) + - [5.4. Graph of Objects Serialization](#54-graph-of-objects-serialization) + - [5.5. Conclusion](#55-conclusion) +- [6. BitStream Cybersecurity](#6-bitstream-cybersecurity) +- [7. See Also](#7-see-also) + +## 1. Introduction This folder `ExDataManagement\DataStreams` contains examples related to information representation as a bitstream and is devoted to discussing selected programming issues related to their management. -If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and Pendrive to name only the most popular ones. +## 2. File and Stream Concepts Preface -## File and Stream Concepts Preface +If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and Pendrive to name only the most popular ones. -This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that it is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. +This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that the file system is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to take part in processing. @@ -75,13 +71,13 @@ Let's start with the fact that typically we utilize object-oriented programming. On the other hand, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element but not a correlated element. -## Useful Technologies +## 3. Useful Technologies -### Introduction +### 3.1. Introduction To use computers for automation of information processing we have to manage bitstreams as the information representation. Bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure its accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill this functionality a set of technologies could make a real relief, namely presentation, validation, and standardization. -### Data Presentation +### 3.2. Data Presentation Data presentation is implemented by various ways of conveying information, including textual and tabular formats. Hence, first of all, we need to deal with data presentation, so as to enable the use of bitstreams also by a human computer user. In this context we must take into account the following terms: natural language, ergonomics, and graphical user interface. @@ -89,7 +85,7 @@ A typical example that we can cite here is using the Internet. Using a web brows From the above we can derive that the bitstream should be formatted in a way to resemble a natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. -### Validation +### 3.3. Validation Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. @@ -97,7 +93,7 @@ If we are talking about exchanging data between different applications or betwee To better understand above mentioned topics, let's look at them in the context of code examples explained in the section [XML-based Validation][xml-based-validation]. In this section, XML examples are only subject to more detailed examination but by design, it has no impact on the generality of the discussion. -### Standardization +### 3.4. Standardization When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. @@ -109,21 +105,21 @@ Another application of streams may be the use of them between various programs t If schema definition is expressed in a widely accepted format it should be possible to generate types in selected programming language based on this schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the schema and then create classes based on the schema definition? But let's try to see how this can be achieved using an example. -## BitStream Format +## 4. BitStream Format -### Domain Specific Language (DSL) +### 4.1. Domain Specific Language (DSL) -Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. The first answer is that it must be compliant and coupled with a well-known application. The application opens this bitstream as input data and exposes it to the user employing appropriate means to make the data comprehensible. +Using bitstreams (file content) we must look out for a problem with how to make bitstreams human readable. The first answer is that it must be compliant and coupled with a well-known application. The application opens this bitstream as input data and exposes it to the user employing appropriate means to make the data comprehensible. -Unfortunately, this approach does not apply to custom data. Therefore we should consider another approach, namely human-readable representation should be close to natural language. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text an encoding must be associated by default, directly or indirectly. The next requirement, common for both humans and computers, is that a bitstream must be associated with comprehensible syntax rules. Finally, semantics rules should be associated with the bitstream that allows to assigning of meaning to bitstreams. Shortly there have to be defined a text-based language. A domain-specific language (DSL) is a text-based language dedicated to expressing concepts and data within a specific area. Except for programming languages like Java, C#, and Python, examples of well-known and widely accepted domain-specific languages are XML, JSON, and YAML formats to name only the most crucial. +Unfortunately, this approach does not apply to custom data. Therefore we should consider another approach, namely human-readable representation should be close to natural language. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text an encoding must be associated by default, directly or indirectly. The next requirement, common for both humans and computers, is that a bitstream must be associated with comprehensible syntax rules. Finally, semantics rules should be associated with the bitstream that allows to assigning of meaning to bitstreams. Shortly there have to be defined a text-based language. A domain-specific language (DSL) is a text-based language dedicated to expressing concepts and data within a specific area. Except for programming languages like Java, C#, and Python, examples of well-known and widely accepted domain-specific languages are XML, JSON, and YAML to name only the most crucial. -Using DSL to describe the bitstreams a Data Transfer Object (DTO) concept can be used as a foundation to encapsulate and transport data between applications. It may be a text document that contains fields to store data. +Using DSL to describe the bitstreams a Data Transfer Object (DTO) concept can be used as a foundation to encapsulate and transport data between computer programs. It may be a text document that contains fields to store data. To use DTO in a multi-vendor environment to transfer data between instances of different programs the standardization of the syntax and semantics rules is vital. Additionally possibility to use well defined and widely accepted schema documents is a key feature to establish interoperability. -### Extensible Markup Language (XML) Format +### 4.2. Extensible Markup Language (XML) Format -#### Introduction +#### 4.2.1. Introduction Extensible Markup Language (XML) is a standard text-based format for representing structured data in machine-readable form. Because it is founded based on the text it could also be recognized as human-readable. Its simplicity and flexibility make it suitable for representing a wide range of data formats. @@ -133,7 +129,7 @@ XML is often used for data interchange between different applications. Overall, XML is versatile and widely adopted in various domains for configuring settings and exchanging process data. -#### Visualization +#### 4.2.2. Visualization As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. @@ -144,7 +140,7 @@ To make it easier to visualize the data that is in the XML file, let's use a fea > - To get more about how to start with XSLT visit the W3C School: [XSL(T) Languages][XSLW3C] > - To check out an examples visit the section [XML-based Presentation][xmlpresentation] -#### Validation +#### 4.2.3. Validation To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. @@ -152,23 +148,23 @@ You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML To better understand topics related to validation check out code examples described in the section [XML-based Validation][xml-based-validation]. -#### Standardization +#### 4.2.4. Standardization Extensible Markup Language (XML), is a standardized markup language designed to store and transport data. It provides a set of rules for encoding documents in a machine-readable format. XML standardization ensures consistency in data representation and interchange across different systems. Visit the `See also` section to get more details. -### JavaScript Object Notation (JSON) +### 4.3. JavaScript Object Notation (JSON) -#### Introduction +#### 4.3.1. Introduction JavaScript Object Notation (JSON), is a lightweight data interchange format. It is a text-based domain-specific language that is easy for humans to read and write, and for machines to parse and generate. JSON is often used to transmit data between a server and a web application, as well as for configuration files. It consists of key-value pairs and supports data types like strings, numbers, objects, arrays, booleans, and null. -#### Visualization +#### 4.3.2. Visualization Yes, JSON can be transformed into other text formats using a variety of programming languages employing additional libraries for parsing and then converting to different formats like CSV, XML, or others as needed. Languages like JavaScript can be also used for transforming JSON documents to other text formats. JavaScript has built-in functions for JSON manipulation, and you can use libraries or frameworks to convert JSON to various formats as needed. -#### Validation +#### 4.3.3. Validation Thanks to schema definition it is possible to derive new domain-specific languages based on JSON. @@ -178,19 +174,19 @@ You may use a lot of available in the open access domain tools, which generates To better understand topics related to validation check out code examples related to XML described in the section [XML-based Validation][xml-based-validation]. XML is used to express a general disunion using concrete language. -#### Standardization +#### 4.3.4. Standardization This language is recognized as an international standard. It is standardized by the International Organization for Standardization (ISO) as [ISO/IEC 21778:2017][ISOJSON]. The standardization ensures that JSON is consistent and widely accepted for data interchange between different systems and programming languages. There is also [Request for Comments:7159][RFCJSON] specification titled _The JavaScript Object Notation (JSON) Data Interchange Format_. ISO/IEC 21778:2017 specifies the JSON data interchange format, its data model, and its various data types. JSON's simplicity, ease of use, and language-agnostic nature have contributed to its widespread adoption in various domains for representing and exchanging data. JSON is also supported by an open community maintaining schema specification [JSON Schema][CommunityJSON] -### Yet Another Markup Language (YAML) +### 4.4. Yet Another Markup Language (YAML) -#### Introduction +#### 4.4.1. Introduction YAML, short for "YAML Ain't Markup Language" is a human-readable data serialization format. It is often used for configuration files and data exchange between development environments with different data structures. YAML uses indentation to represent hierarchy and relies on a straightforward syntax with key-value pairs. It aims to be easy to read and write, making it popular in various applications, including configuration files for software projects. -#### Visualization +#### 4.4.2. Visualization YAML doesn't define any special language allowing automatic transformation of YAML document to other text-based documents that can be used to visualize associated information. To visualize the content of a YAML document, you can use various tools and editors that support YAML. Here are a few options: @@ -202,19 +198,15 @@ YAML doesn't define any special language allowing automatic transformation of YA Choose the method that best suits your preferences and workflow. -#### Validation +#### 4.4.3. Validation While YAML itself is not designed to be extended or derived into new languages, it is possible to create domain-specific languages (DSLs) or configuration languages based on YAML syntax. Developers can define specific rules and conventions within the YAML structure to suit the requirements of their particular domain or application. In essence, you can create a new language by establishing a set of guidelines for interpreting the YAML data in a specific way. This is often done in the context of configuration files or data representation for a particular software or system. Keep in mind that this is more about using YAML as a foundation and defining the semantics and rules for your specific language rather than formally deriving a new language from YAML. -## BitStream Cybersecurity - -### TBD +## 5. Objects Serialization -## Serialization - -### Fundamentals +### 5.1. Fundamentals We need bitstreams to be handled using files to make sure that the data can be persisted. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. The temporary and intermediate data repository is another example. @@ -258,13 +250,13 @@ In order not to enter into purely theoretical considerations, let us return to t > To learn more about the serialization visit the document: [Serialization in .NET][STLZTN]. -### Implementation +### 5.2. Implementation -#### Preface +#### 5.2.1. Preface To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. -#### Attributes +#### 5.2.2. Attributes Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. @@ -278,7 +270,7 @@ In the selected language any attribute definition is a class derived from the `S Depending on the development environment, attributes are crucial in controlling how objects are serialized and deserialized. They allow to provide instructions for the serialization process. The attributes help customize the serialization process to meet specific requirements. Often dedicated attributes are added to the serialization frameworks to allow the addition of expected by the specific implementation control information. Using this framework, the exposed attributes may be associated with custom definitions. -#### Reflection +#### 5.2.3. Reflection Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We can only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. @@ -294,9 +286,9 @@ We want the data transformation process between object graphs and bitstreams pro The state of an object is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects by instantiating types. If the types are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object against its type. This also applies to those value holders that store information about relationships between objects, i.e. references. -### Access to Object State Values +### 5.3. Access to Object State Values -#### Introduction +#### 5.3.1. Introduction From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. @@ -305,7 +297,7 @@ Talking about serialization/deserialization we must answer the question of how t - **Self Controlled** values access mechanism - **Attributes + reflection** values access mechanism -#### Self Controlled +#### 5.3.2. Self Controlled The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. @@ -313,7 +305,7 @@ The first issue that we must address is the full autonomy of the serialization a The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. -#### Attributes and Reflection +#### 5.3.3. Attributes and Reflection Using self-controlled management of the object state means splitting the functionality between the type to be subject to serialization/deserialization and library functionality, which serializes/deserializes the value of members independently. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a contract between both parties responsible for implementing commonly the serialization/deserialization functionality. The main problem is that the type to be subject to serialization/deserialization must be prepared against the contract defined by the implemented interface. @@ -325,7 +317,7 @@ Summarizing, from the above, we may learn how to use attributes and reflection t Examples illustrating serialization using reflection and attributed programming are described in the section [Implementation Examples][ie]. -### Graph of Objects Serialization +### 5.4. Graph of Objects Serialization Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. @@ -345,11 +337,15 @@ Another issue that should be addressed here is when the serialization process sh In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. -### Conclusion +### 5.5. Conclusion So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. -## See Also +## 6. BitStream Cybersecurity + +- [In the file READMECryptography](.\READMECryptography.md) + +## 7. See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index 33ad8e4e..2fc4903a 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -1,18 +1,20 @@ -# External Data Management (ExDM) +# 1. External Data Management (ExDM) -- [External Data Management (ExDM)](#external-data-management-exdm) - - [Key words](#key-words) - - [Introduction](#introduction) - - [External Data](#external-data) - - [Data Management and Access](#data-management-and-access) - - [Conclusion](#conclusion) - - [See also](#see-also) +## Table of Content -## Key words +- [1. Key words](#1-key-words) +- [2. Introduction](#2-introduction) +- [3. External Data](#3-external-data) + - [3.1. Preface](#31-preface) + - [3.2. Data Management and Access](#32-data-management-and-access) +- [4. Conclusion](#4-conclusion) +- [5. See also](#5-see-also) + +## 1. Key words software engineering, education, learning, external data, data management, streaming data, structural data, graphical data -## Introduction +## 2. Introduction Computer science in general, and especially software engineering, is a field of knowledge that deals with the automation of information processing. Programs can be recognized as a driving force of that automated behavior. To achieve information processing goals programs have to implement algorithms required by applications. In other words, the programs describe how to process data, which represents information relevant to the applications in concern. Apart from the implementation of the algorithms, therefore, data management is a key issue from the point of view of automation of information processing in particular and computer science in general. @@ -22,7 +24,9 @@ Providing solutions valid for a long-term horizon is extremely difficult for suc To ensure a practical context of the discussion and provide sound examples, all topics are illustrated using the C\# programming language and the Visual Studio design environment. The source code used is available in the GitHub repository. Check it out from the See Also section. I believe that the proposed principles, design patterns, and scenarios are generic and may be seamlessly ported to other environments, including but not limited to different programming languages. The language and tools mentioned above have been used only to embed the discussion in a particular environment and to ensure that the examples are compliant with the programming in practice principles. -## External Data +## 3. External Data + +### 3.1. Preface The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. In general, the external data may be grouped as follows: @@ -30,15 +34,15 @@ The external data is recognized as the data we must pull or push from outside of - **structural** - data fetched/pushed from/to external database management systems using queries - **graphical** - data rendered on Graphical User Interface (GUI) -## Data Management and Access +### 3.2. Data Management and Access Data management involves the organization, storage, retrieval, communication, and manipulation of data to ensure its accuracy, security, and accessibility. It encompasses processes like data collection, storage architecture, data integration, and maintenance to support efficient analysis and decision-making. Referring to previously mentioned data kinds we need examples related to: -- **Streaming**: files management, bitstreams format, interoperability, cybersecurity of bitstreams, serialization -- **Structural**: queries compositions, queries execution, database interoperability -- **Graphical**: data rendering, data entering, events handling +- **streaming**: files management, bitstreams format, interoperability, cybersecurity of bitstreams, serialization +- **structural**: queries compositions, queries execution, database interoperability +- **graphical**: data rendering, data entering, events handling **files management**: files management functionality involves the organization, manipulation, and control of files as entities of a distributed file system. It includes tasks such as creating, opening, closing, reading, writing, deleting, and organizing files using dedicated containers, for example, directories. Key aspects of file management functionality include content protection against malicious users and metadata maintenance. @@ -52,11 +56,16 @@ Referring to previously mentioned data kinds we need examples related to: **graphical user interface (GUI)**: GUI is a type of user interface that allows users to interact with electronic devices or software applications through graphical elements such as icons, buttons, windows, and menus. To handle GUI functionality allowing data rendering, data entering, and events handling is required. Data rendering refers to the process of converting raw data into a visual or presentable format for users to comprehend. Key aspects of GUI handling include converting raw data into a format suitable for further processing and adapting the presentation of data to different screen sizes or devices to ensure a consistent and effective user experience. GUIs provide a visual way for users to interact with a system, making it more intuitive and user-friendly compared to text-based interfaces. -## Conclusion +## 4. Conclusion + +This section and subsections address examples of practical scenarios regarding various aspects of external data management. Referring to previously mentioned data kinds we need examples related to: + -This section and subsections address examples of practical scenarios regarding various aspects of external data management. +- **streaming**: files management, bitstreams format, interoperability, cybersecurity of bitstreams, serialization +- **structural**: queries compositions, queries execution, database interoperability +- **graphical**: data rendering, data entering, events handling -## See also +## 5. See also - [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; The course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. - [Programming in Practice; GitBook eBook](https://mpostol.gitbook.io/pip/) - The content of this eBook is auto-generated using the markdown files collected in this repository. It is distributed online upon the open access rules. @@ -72,7 +81,7 @@ This section and subsections address examples of practical scenarios regarding v -- [1. Introduction](#1-introduction) -- [2. File and Stream Concepts](#2-file-and-stream-concepts) - - [2.1. FileExample class](#21-fileexample-class) -- [3. Stream class](#3-stream-class) -- [4. Useful Technologies](#4-useful-technologies) - - [4.1. Validation](#41-validation) - - [4.2. Visualization](#42-visualization) - - [4.3. Reflection](#43-reflection) - - [4.4. Attributes](#44-attributes) -- [5. Serialization](#5-serialization) - - [5.1. Reflection-Based Serialization Example](#51-reflection-based-serialization-example) - - [5.1.1. SerializationUnitTest](#511-serializationunittest) -- [6. Cryptography basics](#6-cryptography-basics) - - [6.1. Hash](#61-hash) - - [6.2. Encryption](#62-encryption) - - [6.3. Digital Signature](#63-digital-signature) -- [7. See Also](#7-see-also) - -## 1. Introduction - -Let's try this piece of program is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the inscription `today is` ❓ and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. - -## 2. File and Stream Concepts +- [1. File and Stream Concepts](#1-file-and-stream-concepts) + - [1.1. FileExample class](#11-fileexample-class) + - [1.2. Stream class](#12-stream-class) +- [2. See Also](#2-see-also) + +## 1. File and Stream Concepts + +Let's try this piece of program is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the polish translation `dziś jest` and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. @@ -45,7 +30,7 @@ Let us examine the behavior of files using a specific programming example. Here So what's important to emphasize here is that the File class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. -### 2.1. FileExample class +### 1.1. FileExample class The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class. The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. @@ -53,7 +38,7 @@ The next line does not add much to the considerations regarding the use of files In the next lines of the program, we write to the file. The file, as I have already said, is represented by a stream (`Stream`), and to write data to it first, we must prepare it. -## 3. Stream class +### 1.2. Stream class We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. @@ -63,63 +48,7 @@ Since a stream of characters must be prepared in some way to be saved in a file, The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. -## 4. Useful Technologies - -### 4.1. Validation - -### 4.2. Visualization - -### 4.3. Reflection - -### 4.4. Attributes - -## 5. Serialization - -The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. - -As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. - -The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. - -Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. - -____________ - -### 5.1. Reflection-Based Serialization Example - -This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. - -The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: - -``` csharp - _xmlSerializer.Serialize(_writer, dataObject); -``` - -All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. - -For testing purposes, an operation is performed to read the same file and create an equivalent graph of objects, i.e. deserialization implemented in the following assignment instruction - -``` csharp - Catalog _recoveredCatalog = XmlFile.ReadXmlFile(_fileName); -``` - -We can now check whether the result is consistent with our expectation, i.e. whether the original graph of objects and the equivalent graph of objects have appropriate values that are part of the object's state. - -There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. - -#### 5.1.1. SerializationUnitTest - -Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. - -## 6. Cryptography basics - -### 6.1. Hash - -### 6.2. Encryption - -### 6.3. Digital Signature - -## 7. See Also +## 2. See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] @@ -128,8 +57,3 @@ Although we know that this is not a universal approach, let us return to the dis [XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) - -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 -[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations -[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 -[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md new file mode 100644 index 00000000..4766d2ea --- /dev/null +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -0,0 +1,144 @@ +# Objects Serialization + +## Table of Content + +- [1. Attributes](#1-attributes) +- [2. Reflection](#2-reflection) +- [3. Access to Object State Values](#3-access-to-object-state-values) + - [3.1. Introduction](#31-introduction) + - [3.2. Self Controlled](#32-self-controlled) + - [3.3. Attributes and Reflection](#33-attributes-and-reflection) +- [4. Graph of Objects Serialization](#4-graph-of-objects-serialization) +- [5. Conclusion](#5-conclusion) +- [6. To Be Merged](#6-to-be-merged) + - [7. Reflection-Based Serialization Example](#7-reflection-based-serialization-example) + - [8. SerializationUnitTest](#8-serializationunittest) + +## 1. Attributes + +Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. + +Apart from the definition of an attribute, it also must be possible to associate attributes with a selected language construct. This association usually is realized as a syntax constraint. For example, an attribute is added as a prefix or a decoration of a target construct. + +So the question is what is an attribute? The general answer is that it is a language construct. A programming language construct refers to a syntactical element or feature within a programming language. The constructs provide the building blocks for implementing algorithms for various problems in software development. + +To avoid meaningless explanations and get straight to the point, further explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to provide a comprehensive explanation of the syntax and semantics of the attribute definition and use. A description of the code snippets is available in the document [Implementation Examples][ie]. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept is well suited to address selected issues related to the serialization/deserialization processes. + +In the selected language any attribute definition is a class derived from the `System.Attribute` class. Hence, the programming language must also provide means to instantiate this class in the context of a selected construct to which additional data has been associated using attributes. By design, the reflection mechanisms must be used to instantiate attributes at run-time. + +Depending on the development environment, attributes are crucial in controlling how objects are serialized and deserialized. They allow to provide instructions for the serialization process. The attributes help customize the serialization process to meet specific requirements. Often dedicated attributes are added to the serialization frameworks to allow the addition of expected by the specific implementation control information. Using this framework, the exposed attributes may be associated with custom definitions. + +## 2. Reflection + +Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We can only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. + +So, our task is to answer the question of how to make it autonomous and automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. It means the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. against custom types that the user will define according to requirements of the application in concern. The only thing we can rely on and reuse is the built-in types of a selected programming language because they are immutable. + +If we need to deal with custom types, which we do not know in advance typically the following solutions may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. + +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method. However, it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore cannot be recognized as an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. + +The language we have selected is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. + +We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires the installation of appropriate types contributing to the graph and populating them with recovered values obtained during deserialization from the bitstream. + +The state of an object is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects by instantiating types. If the types are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object against its type. This also applies to those value holders that store information about relationships between objects, i.e. references. + +## 3. Access to Object State Values + +### 3.1. Introduction + +From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. + +Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a stream and recover it from a stream to populate instantiated types. To accomplish this we can apply the following approaches: + +- **Self Controlled** values access mechanism +- **Attributes + reflection** values access mechanism + +### 3.2. Self Controlled + +The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. + +The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. + +The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. + +### 3.3. Attributes and Reflection + +Using self-controlled management of the object state means splitting the functionality between the type to be subject to serialization/deserialization and library functionality, which serializes/deserializes the value of members independently. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a contract between both parties responsible for implementing commonly the serialization/deserialization functionality. The main problem is that the type to be subject to serialization/deserialization must be prepared against the contract defined by the implemented interface. + +Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. + +The rule that in the output stream all the values must be saved, which can read from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't constitute the object state. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data functionality are side by side in the same place, by using the same property. + +Summarizing, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. + +Examples illustrating serialization using reflection and attributed programming are described in the section [Implementation Examples][ie]. + +## 4. Graph of Objects Serialization + +Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. + +Generally, we can distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. + +If a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model. Assuming unidirectional interconnections between the objects, we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. + +Unfortunately, often happens that we must deal with more demanding structures, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. + +![Fig. 1](../.Media/Part3-N80-10-Diagram.png) + +Assuming that instances of all classes are created (fig. below), the question arises which of the objects should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term: equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. + +![Fig. 2](../.Media/Part3-N80-20-Rekurencja.png) + +Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. + +In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. + +## 5. Conclusion + +So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. + +## 6. To Be Merged + +The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. + +As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. + +The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. + +Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. + + +### 7. Reflection-Based Serialization Example + +This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. + +The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: + +``` csharp + _xmlSerializer.Serialize(_writer, dataObject); +``` + +All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. + +For testing purposes, an operation is performed to read the same file and create an equivalent graph of objects, i.e. deserialization implemented in the following assignment instruction + +``` csharp + Catalog _recoveredCatalog = XmlFile.ReadXmlFile(_fileName); +``` + +We can now check whether the result is consistent with our expectation, i.e. whether the original graph of objects and the equivalent graph of objects have appropriate values that are part of the object's state. + +There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. + +### 8. SerializationUnitTest + +Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. + +[ie]: .\README.md +[system.type]: https://learn.microsoft.com/dotnet/api/system.type +[Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 +[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 +[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index c4d23ace..d9f4d2af 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -17,11 +17,17 @@ - [1. Introduction](#1-introduction) - [2. File and Stream Concepts Preface](#2-file-and-stream-concepts-preface) -- [3. Useful Technologies](#3-useful-technologies) +- [3. Useful Technologies for Bitstreams Employment](#3-useful-technologies-for-bitstreams-employment) - [3.1. Introduction](#31-introduction) - [3.2. Data Presentation](#32-data-presentation) - [3.3. Validation](#33-validation) - [3.4. Standardization](#34-standardization) + - [3.5. Serialization](#35-serialization) + - [3.6. Cybersecurity](#36-cybersecurity) + - [3.6.1. Introduction](#361-introduction) + - [3.6.2. Hash](#362-hash) + - [3.6.3. Encryption](#363-encryption) + - [3.6.4. Non-repudiation](#364-non-repudiation) - [4. BitStream Format](#4-bitstream-format) - [4.1. Domain Specific Language (DSL)](#41-domain-specific-language-dsl) - [4.2. Extensible Markup Language (XML) Format](#42-extensible-markup-language-xml-format) @@ -38,20 +44,7 @@ - [4.4.1. Introduction](#441-introduction) - [4.4.2. Visualization](#442-visualization) - [4.4.3. Validation](#443-validation) -- [5. Objects Serialization](#5-objects-serialization) - - [5.1. Fundamentals](#51-fundamentals) - - [5.2. Implementation](#52-implementation) - - [5.2.1. Preface](#521-preface) - - [5.2.2. Attributes](#522-attributes) - - [5.2.3. Reflection](#523-reflection) - - [5.3. Access to Object State Values](#53-access-to-object-state-values) - - [5.3.1. Introduction](#531-introduction) - - [5.3.2. Self Controlled](#532-self-controlled) - - [5.3.3. Attributes and Reflection](#533-attributes-and-reflection) - - [5.4. Graph of Objects Serialization](#54-graph-of-objects-serialization) - - [5.5. Conclusion](#55-conclusion) -- [6. BitStream Cybersecurity](#6-bitstream-cybersecurity) -- [7. See Also](#7-see-also) +- [5. See Also](#5-see-also) ## 1. Introduction @@ -61,21 +54,21 @@ This folder `ExDataManagement\DataStreams` contains examples related to informat If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and Pendrive to name only the most popular ones. -This is where the term file system came into play. Without going into details about the structure of the computer and the operating system, we can enigmatically state that the file system is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. +This is where the term file system came into play. Without going into details about the architecture of the computer and the operating system, we can enigmatically state that the file system is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to take part in processing. Hopefully, everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. -Let's start with the fact that typically we utilize object-oriented programming. This means that at runtime we must deal with objects that are located in the working memory (RAM) of a computer. Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Let me stress we are talking about freedom but not probability. It means that again the RAM address play the role of URL. Therefore, object data can be organized into structures and linked by references. +Let's start with the fact that typically we utilize object-oriented programming. This means that at design-time we have to deal with reference types and at runtime, we must deal with objects located in a computer's working memory (RAM). Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Let me stress we are talking about freedom but not probability. It means that again the RAM address plays the role of URL. Therefore, object data can be organized into structures and linked by references. On the other hand, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element but not a correlated element. -## 3. Useful Technologies +## 3. Useful Technologies for Bitstreams Employment ### 3.1. Introduction -To use computers for automation of information processing we have to manage bitstreams as the information representation. Bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure its accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill this functionality a set of technologies could make a real relief, namely presentation, validation, and standardization. +To use computers for automation of information processing we have to manage bitstreams as the information representation. Bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure its accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill this functionality the following set of technologies could make a real relief, namely presentation, validation, standardization, and serialization. ### 3.2. Data Presentation @@ -89,7 +82,7 @@ From the above we can derive that the bitstream should be formatted in a way to Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. -If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of a stream of signs, i.e. validation if the selected syntax rules are met. The second one is the possibility of assigning information to these correct sequences and therefore assigning meaning to bitstream. For humans to understand the stream, it will be accomplished by defining semantics rules, i.e. rules that will allow us to associate meaning with bitstream. The issue of ergonomics is also important in how easy it is to absorb information represented by the bitstream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to determine how good our solution is. +If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of a stream of signs, i.e. validation if the selected syntax rules are met. The second one is the possibility of assigning information (meaning) to these correct sequences and therefore assigning meaning to bitstream. For humans to understand the stream, it will be accomplished by defining semantics rules, i.e. rules that will allow us to associate meaning with bitstream. The issue of ergonomics is also important in how easy it is to absorb information represented by the bitstream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to determine how good our solution is. To better understand above mentioned topics, let's look at them in the context of code examples explained in the section [XML-based Validation][xml-based-validation]. In this section, XML examples are only subject to more detailed examination but by design, it has no impact on the generality of the discussion. @@ -97,14 +90,119 @@ To better understand above mentioned topics, let's look at them in the context o When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. -If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. In the context of a text document, a schema may be used. The schema in this context refers to the structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying, schema allows the definition of additional syntax rules in a domain-specific language. Schemas help ensure consistency and coherence in the representation of information within the text document. It means that schema definition could also be a foundation of semantics rules used to assign meaning to the document text. As a result, we could recognize the schema as a good idea to validate text documents and check whether incoming text is a document we expect. Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. +If we are talking about interoperability between different applications, we must consider a situation in which these applications have been written using different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. In the context of a text document, a kind of schema may be used. -Because the data may be used by different instances of a program, we also have to take into account that the programs may be in different versions or written using different languages. What worse, the data also must be subject of versioning. In such a case, there is a problem of data compatibility between independent instances of the program. So the question arises whether if the data serialized by one version of the program is used by another version of the program run as a different instance, will it allows the creation of a graph equivalent to the original graph +The schema in this context refers to a bitstream structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying, schema allows the definition of additional syntax rules in a domain-specific language. Schemas help ensure consistency in the representation of information within the text document. It means that schema definition could also be a foundation of semantics rules used to assign meaning to the document text. As a result, we could recognize the schema as a good idea to validate text documents and check whether incoming text is a document we expect. Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. -Another application of streams may be the use of them between various programs that are created in different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into account that classes (types) that were created in one technology cannot necessarily be directly used in another technology. And in this case, we are already entering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented in a different way. +Because the data may be used by different instances of a program, we also have to take into consideration that the applications may be in different versions or written using different languages. What is worse, the data representation also must be subject to versioning. In such a case, there is a problem of data compatibility between independent instances of the program. So the question arises whether the data serialized by one version of the program is used by another version of the program run as a different instance. + +Another very popular applicability domain of streams may be the use of them to implement interoperability between various programs that are created using different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into consideration that classes (types) that were created in one technology cannot necessarily be directly used in another technology. In this case, we are already encountering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented differently. If schema definition is expressed in a widely accepted format it should be possible to generate types in selected programming language based on this schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the schema and then create classes based on the schema definition? But let's try to see how this can be achieved using an example. +### 3.5. Serialization + +We need bitstreams to be handled using files to make sure that the data can be persisted. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. The temporary and intermediate data repository is another example. Data transfer between applications is another use case. It requires that data must be transferable. For example interoperability of a web server and a web browser. There is a virtual wire between them. The virtual wire is not an abstract interconnection but means that only bitstream can be transferred between them. There are many more examples but let's limit the discussion to the mentioned only because they are enough to justify the importance of this topic. + +In the already mentioned use cases, data must be in the form of bitstream. Now we are ready to return to discussing issues directly related to streaming data. Previously, we discussed the mechanisms of managing streams, especially in the context of files. We also realized the differences between bitstreams, text, and documents. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. + +The first problem is related to the inevitable necessity of dealing with two concepts, namely object data with the data formatted as bitstreams. The transition process from the objects to the stream is called the serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. Hence, in the context of serialization, to save working data in a file we need a generic operation that could automate this transition process regardless of the types we used to create the graph of objects wrapping working data. There must be also a reverse operation creating objects from a file content - deserialization. To guarantee consistency, this operation has to verify the file content against the types used to instantiate objects. + +Again, in the transition between the world of objects and the world of bitstreams, we need serialization, which is responsible for the transition of the state of a graph of objects to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. + +Before we move to the next step, it is worth recognizing what we need to implement this functionality. Here, from the world of objects point of view, the list of requirements includes: + +- access to the values wrapped by objects that will be the subject of the serialization - in other words, values that will constitute the state of the objects +- the relationships between these objects + +Next, we need to implement an algorithm that will describe in detail this data transformation, which has to be mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. The same we should state for deserialization. We will get back to this issue shortly. + +So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be mutually unambiguous operation. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no metrics of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. + +If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to offer a generic implementation. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. + +Today on the market, we have many libraries that permit this process to be carried out automatically. So it is justified to ask the following question why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to assemble a custom washing machine using available parts, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case even if the mentioned parts are available. Similarly, we need detailed knowledge about how to manage bitstreams in case we are going to use streaming data, for example, the file system. + +In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contains data in the form of bitstreams. Let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will learn the answer to this question soon. + +From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original each time. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical bitstream. Then this bitstream can be compared, for example, to check whether the process is the same as before. It must be stressed that equivalence has no metrics measure that can be applied to evaluate equivalence conditions. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures, for example, unit tests. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. + +Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the format of the target bitstream. So we need to determine how to combine bits into words, words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, a set of valid characters, syntax, and semantics rules are required. For example, it could have an impact on the bitstream features, like the possibility of validating and visualizing content. Two additional notes regarding the target format of the bitstreams are vital for further consideration. + +The list of applications - mentioned previously as potential bitstream consumers - includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in applications that are created by other vendors. + +We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of application. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create characters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which encoding is known in advance or discoverable somehow. + +From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. + +In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Objects Serialization Implementation Examples][ies]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is a responsibility of program authors, there must be measures allowing to point out what has to be serialized. + +To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. + +> To learn more about the serialization in .NET, visit the document: [Serialization in .NET][STLZTN]. + +### 3.6. Cybersecurity + +#### 3.6.1. Introduction + +Cybersecurity describes the practice of protecting computer systems, networks, and data from cyber threats. In this section cybersecurity related to bitstreams is considered. + +Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. + +We already know how to create bitstreams. We can also attach coding to them, i.e. the natural language set of characters. The next step is to assign syntax and semantics that allow the streams to be transformed into a coherent document and therefore enable recovery of information from these documents by a computer user. If this is not enough, we can also display these documents in graphical form. + +It must be stressed again that this computation infrastructure is always binary. Hence, in all occurrences a bitstream is a stream of bits, so may be sent, archived, and processed by another computer. Well, this is where the problem arises. It is required that this binary document is protected against malicious operations. For example, if this document contains a wire transfer order to our bank, the problem becomes real, material, and meaningful in this context. + +In the context of the cybersecurity of bitstreams implementation, the following requirements must be encountered: + +1. ensure that all users of a source bitstream can verify that the stream has not been modified while it was being archived or transmitted, +1. safeguard information from unauthorized access, ensuring confidentiality, +1. confirm authorship, so all users of a bitstream can determine who created it and who is responsible for its content. This requirement we call non-repudiation of the author. + +A short description of methods used to protect a bitstream against malicious users may be found in the following chapters. Examples illustrating how to implement them are collected in a separate document [Bitstream Cybersecurity](.\READMECryptography.md). + +#### 3.6.2. Hash + +If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. + +Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the hash function value to the destination in such a way that malicious users cannot modify it. Otherwise, modifying the source stream is not a problem because calculating a new hash function value that takes this modification into account is quite a trivial operation. + +Bitstream integrity refers to the assurance that the bitstream remains intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. + +#### 3.6.3. Encryption + +It often happens that only authorized persons should have access to the information represented by a bitstream. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The bitstream is no longer meaningful data. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules. As a result, it allows recovering the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the noise back to the original music. This reversible transformation function we will call encryption. + +Hence, selective access is required to protect any bitstream including but not limited to hash value against unauthorized access. Selective access is the ability to access information that is associated with a bitstream only by people who are authorized to do so. We can accomplish this in two ways: + +1. selective availability of the bitstream itself +1. selective availability of the bitstream meaning + +The first approach is to share the bitstream, for example, as a file, only with people who have the right to get access to it. This can be achieved thanks to the authentication and authorization offered by most operating systems. Authorization in the context of an operating system refers to the process of granting or denying permissions to identity attempting to perform certain operations on a computer system. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that requested the execution of an operation has the right to do so. Of course, if someone does not gain access to the bitstream (to the file content), he will necessarily not have access to the information that is associated with this bitstream. Unfortunately, this approach is possible only in case there is something trusted in the middle between the file and the user, for example, a well-configured operating system. This topic generally doesn't deal with operating systems implementation, so this approach is outside the scope of our interest. Hence, we have to deal with another security method. + +The second option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with this bitstream. This method we call encryption. In other words, encryption involves transforming or scrambling bitstreams to make the underlying information unavailable to unauthorized users. + +Bitstream encryption encompasses encrypting data at the bit level, which is often used in various scenarios. These scenarios employ encryption techniques to protect data integrity, confidentiality, and privacy against unauthorized access and interception. We can distinguish between symmetric and asymmetric encryption. Symmetric encryption uses the same key for encryption and decryption, while asymmetric encryption uses a pair of keys: a public and a private key. + +We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. In the case of symmetric encryption, in which we use identical keys for the encryption and decryption, inter-operating parties have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. + +However, the main drawbacks of asymmetric encryption include: + +1. **Computational Overhead** - asymmetric encryption algorithms are typically more computationally intensive compared to symmetric encryption, requiring more processing power and time for encryption and decryption operations +1. **Limited Performance for Large Data** - asymmetric encryption is less efficient for encrypting large amounts of data compared to symmetric encryption, making it less suitable for bulk data encryption. + +Overall, while asymmetric encryption provides valuable security features such as key distribution and digital signatures, it also introduces complexity and performance limitations that must be carefully considered in design and implementation. + +#### 3.6.4. Non-repudiation + +When talking about documents such as a wire transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. + +Because we use file systems and transfer bitstream data over computer networks non-repudiation of streaming data inherently must be the subject of our particular concern. Non-repudiation can be achieved by providing a way to verify that the sender of a bitstream is who claims to be and that the bitstream has not been altered during transmission. To achieve this protection a digital signature is applied. The digital signature is a cryptographic technique used to ensure the authenticity and integrity of a bitstream. + +To implement a digital signature, the sender uses a private key to create a unique digital signature for the bitstream. This private key is known only to the sender and is kept confidential. The recipient, in turn, can verify the signature using the sender's public key. The public key is widely distributed and can be freely shared. + +If the digital signature is valid, it confirms that the bitstream is indeed signed by the holder of the private key associated with the public key used for verification. The digital signature also ensures that the content of the bitstream has not been altered since the signature was created. Even a bit of change in the bitstream causes a completely different signature. + ## 4. BitStream Format ### 4.1. Domain Specific Language (DSL) @@ -204,154 +302,16 @@ While YAML itself is not designed to be extended or derived into new languages, In essence, you can create a new language by establishing a set of guidelines for interpreting the YAML data in a specific way. This is often done in the context of configuration files or data representation for a particular software or system. Keep in mind that this is more about using YAML as a foundation and defining the semantics and rules for your specific language rather than formally deriving a new language from YAML. -## 5. Objects Serialization - -### 5.1. Fundamentals - -We need bitstreams to be handled using files to make sure that the data can be persisted. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. The temporary and intermediate data repository is another example. - -Data transfer between applications is another use case. It requires that data must be transferable. For example interoperability of a web server and a web browser. There is a virtual wire between them. - -These are just a few examples but let's limit the discussion to them because they are enough to justify the importance of this topic. - -In the already mentioned use cases data must be in a form of bitstream. Now we are ready to return to discussing issues directly related to streaming data. Above, we discussed the mechanisms of managing streams, especially in the context of files. We also realized the differences between bitstreams, text, and documents. Now let's answer the question of how to create streaming data and how to use it. First, let's try to define the purpose of our missions and the limitations we must deal with. - -Here the first problem arises: combining reasoning about two concepts, namely data formatted as objects with the bitstreams. We will call the transition from the object world to the streaming world serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. - -Hence, to save/read working data from files we need generic operations that could automate this transition process regardless of the types we used to create the graph of objects containing working data. This process is called serialization. There must be also provided a reverse operation creating objects from a file content - deserialization. This operation additionally has to verify the file content. - -Let me remind you that so far we have noted that in the transition between the object world and the world of bitstreams, we need serialization, which is responsible for transferring the state of an object graph to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. - -Before we move to the next step, it is worth recognizing what we need in this context. Here, from the object point of view, the list of requirements includes: - -- access to the data that will be the subject of the serialization -- values that will constitute the state of the objects -- the relationships between these objects - -Next, we need to implement an algorithm that will describe in detail this data transformation, in such a way that this transformation is mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. The same we should state for deserialization. We will get back to this issue shortly. - -So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be repeatable and mutually unambiguous. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no metrics of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. - -If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to offer a generic implementation. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. We have many libraries that permit this process to be carried out automatically. So the question is why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to assemble a custom washing machine using available parts, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case even if the mentioned parts are available. Similarly, we need detailed knowledge about serialization and deserialization in case we are going to use streaming data, for example, the file system. - -In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contain data in the form of bitstreams. Let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will know the answer to this question soon. - -From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical bitstream. Then this bitstream can be compared, for example, to check whether the process is the same as before. It must be stressed that equivalence has no generic measure that can be used to evaluate equivalence condition. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures, for example unit tests. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. - -Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the form of the target bitstream. So we need to determine how to combine bits into words, words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, alphabet, syntax, and semantics rules are required. For example, it could have an impact on the bitstream features, like the possibility of validating and visualizing content. Two additional notes regarding the target form of the bitstreams are vital for further consideration. - -The list of applications that we mentioned previously as potential bitstream consumers includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in an application that is created by another vendor. - -We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of applications. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create letters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which an encoding is known or discovered. - -From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. - -In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Implementation Examples][ie]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is a responsibility of program authors, there must be measures allowing to point out what has to be serialized. - -> To learn more about the serialization visit the document: [Serialization in .NET][STLZTN]. - -### 5.2. Implementation - -#### 5.2.1. Preface - -To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. - -#### 5.2.2. Attributes - -Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. - -Apart from the definition of an attribute, it also must be possible to associate attributes with a selected language construct. This association usually is realized as a syntax constraint. For example, an attribute is added as a prefix or a decoration of a target construct. - -So the question is what is an attribute? The general answer is that it is a language construct. A programming language construct refers to a syntactical element or feature within a programming language. The constructs provide the building blocks for implementing algorithms for various problems in software development. - -To avoid meaningless explanations and get straight to the point, further explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to provide a comprehensive explanation of the syntax and semantics of the attribute definition and use. A description of the code snippets is available in the document [Implementation Examples][ie]. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept is well suited to address selected issues related to the serialization/deserialization processes. - -In the selected language any attribute definition is a class derived from the `System.Attribute` class. Hence, the programming language must also provide means to instantiate this class in the context of a selected construct to which additional data has been associated using attributes. By design, the reflection mechanisms must be used to instantiate attributes at run-time. - -Depending on the development environment, attributes are crucial in controlling how objects are serialized and deserialized. They allow to provide instructions for the serialization process. The attributes help customize the serialization process to meet specific requirements. Often dedicated attributes are added to the serialization frameworks to allow the addition of expected by the specific implementation control information. Using this framework, the exposed attributes may be associated with custom definitions. - -#### 5.2.3. Reflection - -Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We can only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. - -So, our task is to answer the question of how to make it autonomous and automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. It means the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. against custom types that the user will define according to requirements of the application in concern. The only thing we can rely on and reuse is the built-in types of a selected programming language because they are immutable. - -If we need to deal with custom types, which we do not know in advance typically the following solutions may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. - -Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method. However, it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore cannot be recognized as an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. - -The language we have selected is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. - -We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires the installation of appropriate types contributing to the graph and populating them with recovered values obtained during deserialization from the bitstream. - -The state of an object is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects by instantiating types. If the types are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object against its type. This also applies to those value holders that store information about relationships between objects, i.e. references. - -### 5.3. Access to Object State Values - -#### 5.3.1. Introduction - -From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. - -Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a stream and recover it from a stream to populate instantiated types. To accomplish this we can apply the following approaches: - -- **Self Controlled** values access mechanism -- **Attributes + reflection** values access mechanism - -#### 5.3.2. Self Controlled - -The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. - -The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. - -The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. - -#### 5.3.3. Attributes and Reflection - -Using self-controlled management of the object state means splitting the functionality between the type to be subject to serialization/deserialization and library functionality, which serializes/deserializes the value of members independently. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a contract between both parties responsible for implementing commonly the serialization/deserialization functionality. The main problem is that the type to be subject to serialization/deserialization must be prepared against the contract defined by the implemented interface. - -Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. - -The rule that in the output stream all the values must be saved, which can read from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't constitute the object state. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data functionality are side by side in the same place, by using the same property. - -Summarizing, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. - -Examples illustrating serialization using reflection and attributed programming are described in the section [Implementation Examples][ie]. - -### 5.4. Graph of Objects Serialization - -Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. - -Generally, we can distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. - -If a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model. Assuming unidirectional interconnections between the objects, we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. - -Unfortunately, often happens that we must deal with more demanding structures, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. - -![Fig. 1](.Media/Part3-N80-10-Diagram.png) - -Assuming that instances of all classes are created (fig. below), the question arises which of the objects should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term: equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. - -![Fig. 1](.Media/Part3-N80-20-Rekurencja.png) - -Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. - -In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. - -### 5.5. Conclusion - -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. - -## 6. BitStream Cybersecurity -- [In the file READMECryptography](.\READMECryptography.md) -## 7. See Also +## 5. See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] - [Type Class][system.type] - [Implementation Examples][ie] +- [Objects Serialization][ies] - [ISO/IEC 21778; International Standard; Information technology — The JSON data interchange syntax][ISOJSON] - [The JavaScript Object Notation (JSON) Data Interchange Format][RFCJSON]; Request for Comments:7159; 2020-01-21 - [JSON Schema][CommunityJSON] @@ -360,6 +320,7 @@ So much theory. It's time to move on to practical acquaintance with selected ref [ISOJSON]: https://www.iso.org/standard/71616.html [RFCJSON]: https://datatracker.ietf.org/doc/rfc7159 [ie]: .\DataStreams\README.md +[ies]: .\DataStreams\READMESerilization.md [xmlpresentation]: .\DataStreams\README.md#xml-based-presentation [XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/READMECryptography.md index b55b65f7..9281e57a 100644 --- a/ExDataManagement/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/READMECryptography.md @@ -14,41 +14,35 @@ # Bitstream Cybersecurity - [1. Introduction](#1-introduction) -- [2. Hash](#2-hash) - - [2.1. Preface](#21-preface) -- [3. Hash Function](#3-hash-function) - - [3.1. Hash Function Applicability Example](#31-hash-function-applicability-example) -- [4. Encryption](#4-encryption) - - [4.1. Introduction](#41-introduction) - - [4.2. Encryption fundamentals](#42-encryption-fundamentals) - - [4.3. Symmetric Cryptography Example](#43-symmetric-cryptography-example) - - [4.4. Conclusion](#44-conclusion) -- [5. Non-repudiation](#5-non-repudiation) - - [5.1. Preface](#51-preface) - - [5.2. Compliance with Domain-specific Language](#52-compliance-with-domain-specific-language) - - [5.3. Signing Process](#53-signing-process) - - [5.4. Creation of Keys Example](#54-creation-of-keys-example) - - [5.5. XML Document Signing Example](#55-xml-document-signing-example) - - [5.6. Conclusion](#56-conclusion) -- [6. See Also](#6-see-also) +- [2. Hash Function](#2-hash-function) + - [2.1. Fundamentals](#21-fundamentals) + - [2.2. Example](#22-example) +- [3. Encryption](#3-encryption) + - [3.1. Fundamentals](#31-fundamentals) + - [3.2. Symmetric Cryptography Example](#32-symmetric-cryptography-example) + - [3.3. Conclusion](#33-conclusion) +- [4. Non-repudiation](#4-non-repudiation) + - [4.1. Fundamentals](#41-fundamentals) + - [4.2. Compliance with Domain-specific Language](#42-compliance-with-domain-specific-language) + - [4.3. Signing Process](#43-signing-process) + - [4.4. Creation of Keys Example](#44-creation-of-keys-example) + - [4.5. XML Document Signing Example](#45-xml-document-signing-example) + - [4.6. Conclusion](#46-conclusion) +- [5. See Also](#5-see-also) ## 1. Introduction -Cybersecurity describes the practice of protecting computer systems, networks, and data from cyber threats. In this section, only cybersecurity related to bitstreams is considered. +In the context of the cybersecurity of bitstreams implementation let me remind you of the following requirements we have: -## 2. Hash +1. The first one is to ensure that all users of a source bitstream can verify that the stream has been not modified while it was being archived or transmitted. +1. The second one is to safeguard information from unauthorized access, ensuring confidentiality. +1. The third one is to confirm authorship, so all users of a bitstream can determine who created it and who is responsible for its content. This goal we call non-repudiation of the author. -### 2.1. Preface +The following chapters provide more detailed descriptions of examples related to the implementation of these requirements. These requirements are implemented by applying the following cybersecurity concepts hash, encryption, and non-repudiation. -Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. For now, I mention this seemingly strange combination of topics to ask for your patience. Everything will be clear soon; I promise. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. +## 2. Hash Function -We already know how to create bitstreams. We can also attach coding to them, i.e. the natural language alphabet. The next step is to assign syntax and semantics that allow the streams to be transformed into a coherent document and therefore enable recovery of information from these documents by a computer user. If this is not enough, we can also display these documents in graphical form. We will come back to this last issue because we have not said the last word here. - -However, the most important thing is that a bitstream is still a stream, so it is a sequence of bits and can be sent, archived, and processed by another computer. It must be stressed again that this infrastructure is always binary. Well, this is where the problem arises. It is required that this binary document is protected against malicious operations. For example, if this document contains a transfer order to our bank, the problem becomes real, material, and meaningful in this context. - -If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. - -## 3. Hash Function +### 2.1. Fundamentals Let's move on to the first option for securing streams: the hash function. It is a function that transforms the input bitstream to calculate another fixed-size unique bitstream. A collision in a hash function occurs when two different inputs produce the same hash value as output. The next feature of the received output bitstream is that the reverse transformation, i.e. recovering the source bitstream is practically impossible. One way to use such a function is to associate this hash value with the bitstream we want to protect. Then the hash value can be used to check whether the bitstream has not been modified in the meantime by calculating this function again and comparing the result with the associated hash value with the source bitstream if the expanded bitstream is archived or sent from one place to another. A certain drawback of this solution is that the algorithms for these functions are widely known, so if a "man in the middle" wants to modify the source bitstream, they can modify the source bitstream and recalculate a new value of the hash function for the previously modified bitstream. @@ -56,13 +50,11 @@ Anyway, there are a few scenarios where this approach makes sense. Well, for exa ![Blockchain](.Media/Blockchain.png) -Blockchain security helps ensure that if someone wants to modify one of the blocks in the chain, they must modify all the blocks that have been attached to that chain later. Of course, this is still possible, so further safeguards are needed. Among other things, the growth rate of this chain, i.e. the speed of adding subsequent blocks to the chain, is greater than the possibility of modifying fragments of the chain. +Blockchain security helps ensure that if someone wants to modify one of the blocks in the chain, they must modify all the blocks that have been attached to that chain later. Of course, this is still possible, so further safeguards are needed. Among other things, the growth rate of this chain, i.e. the speed of adding subsequent blocks to the chain, is greater than the possibility of modifying fragments of the chain. This topic is far beyond the scope of this document, but if you are interested in getting more I encourage you to check out a dedicated GitHub repository [NBlockchain][NBlockchain]. There is a practical example of how to implement such a chain. -This topic is far beyond the scope of this document, but if you are interested in getting more I encourage you to check out a dedicated GitHub repository [NBlockchain][NBlockchain]. There is a practical example of how to implement such a chain. +### 2.2. Example -### 3.1. Hash Function Applicability Example - -So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, two unit tests have been prepared. They use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, namely a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. Password may be associated with syntax and semantics to make it easier to remember but, fortunately, these syntax and semantics rules have no impact on the hash calculation. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method. The input parameter of this method is a sequence of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have associated an encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. +So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, two unit tests have been prepared. They use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, namely a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. Password may be associated with syntax and semantics to make it easier to remember but, fortunately, these syntax and semantics rules have no impact on the hash calculation. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method. The input parameter of this method is a sequence of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have associated an encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding format (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. In the next line: @@ -76,24 +68,9 @@ a bitstream generated by the hash function is converted into two text forms. The In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a bitstream to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask. In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. -## 4. Encryption - -### 4.1. Introduction - -It often happens that only authorized persons should have access to the information represented by the binary stream, and therefore unauthorized persons shouldn't have access to it. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules and finally recover the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the notice back to the original music. This reversible transformation function we will call encryption. - -In this subsection of the cryptographic security of bitstreams, the encryption concept is addressed. Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the hash value to the destination in such a way that malicious users cannot modify it. Otherwise, modifying the source stream is not a problem because calculating a new hash function value that takes this modification into account is quite a trivial operation. - -Hence, selective access is required to protect any bitstream including but not limited to hash value against unauthorized access. Selective access is the ability to access information that is associated with a bitstream only by people who are authorized to do so. We can accomplish this in two ways: - -- selective availability of the bitstream itself -- selective availability of the bitstream meaning +## 3. Encryption -The first approach is to share the bitstream, for example, as a file, only with people who have the right to get access to it. This can be achieved thanks to the authentication and authorization offered by most operating systems. Authorization in the context of an operating system refers to the process of granting or denying permissions to identity attempting to perform certain operations on a computer system. Thanks to this, each time an attempt is made to operate on a file, it is first checked whether the identity that requested the execution of an operation has the right to do so. Of course, if someone does not gain access to the bitstream (to the file content), he will necessarily not have access to the information that is associated with this bitstream. Unfortunately, this approach is possible only in case there is something trusted in the middle between the file and the user, for example, a well-configured operating system. This topic generally doesn't deal with operating systems implementation, so this approach is outside the scope of our interest. Hence, we have to deal with another security method. - -The second option is to transform a bitstream (for example the file content, hash function value, etc.) into a form that an unauthorized user cannot associate any information with this bitstream. This method we call encryption. In other words, encryption involves transforming or scrambling bitstreams to make the underlying information unavailable to unauthorized users. - -### 4.2. Encryption fundamentals +### 3.1. Fundamentals Encryption is a reversible bitstream transformation function into another bitstream. The transformation or scrambling function rearranges or modifies the order of bits in a bitstream. This function is designed to introduce complexity and randomness into the data, making it difficult for unauthorized parties to interpret or understand without the appropriate decryption process. The goal is to enhance the security of the information being transmitted or stored. After encryption, the encoding, syntax, and semantics rules no longer apply to an output bitstream. So, as a consequence, no information can be associated with the obtained this way bitstream. The diagram below shows how it works. @@ -107,7 +84,7 @@ Symmetric encryption employs a single key for both encryption and decryption ope Asymmetric encryption, also known as public-key cryptography, involves a pair of keys, namely a public key used for encryption and a private key for decryption. Bitstreams encrypted with the public key can only be decrypted by the corresponding private key, ensuring secure interoperability. On the other hand, bitstreams encrypted with the private key can only be decrypted by the corresponding public key. -### 4.3. Symmetric Cryptography Example +### 3.2. Symmetric Cryptography Example It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. The test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. @@ -131,7 +108,7 @@ And now we move on to the step where the file is decrypted. That one we created. So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using small chunks preserved in a buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read a file content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing the encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file that is the source file. -### 4.4. Conclusion +### 3.3. Conclusion We have already learned that there are two types of encryption. In the examples discussed in this section, the symmetric encryption method of the bitstreams was the subject of examination. Asymmetric encryption will be the subject of the next section covering digital signature generation and validation. @@ -139,37 +116,23 @@ In the symmetric encryption, the encryption and decryption sides use identical k In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. The next section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties during a specific session. It is generated for a short duration and provides a secure means for encrypting and decrypting bitstreams exchanged between the communicating entities. Session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. -## 5. Non-repudiation - -### 5.1. Preface - -When talking about documents such as a wire transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. - -Because we use file systems and transfer bitstream data over computer networks streaming data security must inherently be the subject of our particular concern. In this subsection, the discussion on cryptographic security is continued in the context of non-repudiation. Non-repudiation can be achieved by providing a way to verify that the sender of a message is who claims to be and that the message has not been altered during transmission. To achieve this protection a digital signature is applied. The digital signature is a cryptographic technique used to ensure the authenticity and integrity of a bitstream. +## 4. Non-repudiation -We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. Bitstream integrity refers to the assurance that the bitstream remains intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. The previous article [`Cybersecurity of External Streaming Data - Confidentiality`][confidentiality] addresses symmetric encryption, in which we use identical keys by the encryption and decryption inter-operating parties. Again, we have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. +### 4.1. Fundamentals -To implement a digital signature, the sender uses a private key to create a unique digital signature for the message. This private key is known only to the sender and is kept confidential. The recipient, in turn, can verify the signature using the sender's public key. The public key is widely distributed and can be freely shared. +Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue has been associated with the topic of ensuring bitstream integrity. We have already learned that there are two types of encryption. In the examples discussed in this chapter, only the asymmetric encryption method of the bitstreams is the subject of examination. Symmetric encryption has been the subject of the previous chapter covering the confidentiality of bitstreams. -If the digital signature is valid, it confirms that the bitstream is indeed signed by the holder of the private key associated with the public key used for verification. The digital signature also ensures that the content of the bitstream has not been altered since the signature was created. Even a small change in the message would result in a completely different signature. +So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. -Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue has been associated with the topic of ensuring bitstream integrity. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. - -### 5.2. Compliance with Domain-specific Language +### 4.2. Compliance with Domain-specific Language If a bitstream to be signed is compliant with domain-specific language (for example XML) any inserted text to this bitstream must not break compliance with this language. For example, consider the [catalog.example.xml][catalog] document that we already used in examples. Let's try to add a free-formatted text at the end of this document, for example, a previously calculated hash value expressed as hexadecimal text encoded using ASCII standard. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text and is not suitable for further processing when we expect the document to follow XML syntax rules. What can we do? We can surround this text with an element markup, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document is compliant with a certain schema, then, as a consequence, this document is rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. It will be vital to us. -### 5.3. Signing Process - -First, let me remind you of the three goals we have. +### 4.3. Signing Process -1. The first one is to ensure that all users of the source bitstream can verify that the stream was not modified while it was being archived or transmitted. -2. The second goal is to safeguard information from unauthorized access, ensuring confidentiality. This goal can be enforced using the encryption already examined provided that the key distribution will support this. -3. Last but not least purpose is to confirm authorship, so all users of this stream can determine who created this stream and who is responsible for its content. This goal we call non-repudiation of the author. In this case, let me remind you of an example involving a wire transfer. It would have been much better for the bank to have been sure that the person issuing the wire transfer order would not be able to deny authorship of the order and blame someone fraud who transferred money. - -The following diagram shows how to achieve authorship non-repudiation of a bitstream +The following diagram shows how to implement authorship non-repudiation of a bitstream ![Fig. 1 Digital Signature](.Media/PodpisCyfrowy.png) @@ -179,7 +142,7 @@ To check the bitstream integrity and authorship at the final location, we can fi And now the last thing is how to ensure non-repudiation. How to ensure that the person who originally signed this bitstream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. -### 5.4. Creation of Keys Example +### 4.4. Creation of Keys Example Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and to point out how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this section, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some negative impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. @@ -191,9 +154,9 @@ The XML document that contains both the public and the private keys is located i The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (bitstream users), by design, the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by a trusted organization. The organization is an office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Unfortunately, discussing these issues in detail, as I said earlier, is far beyond the scope of this document. -### 5.5. XML Document Signing Example +### 4.5. XML Document Signing Example -Let us now discuss how to implement the operation of signing an XML document and how to encapsulate the obtained signature in this document so as not to violate the rules of syntax control consistent with its schema. We are using XML but the same approach is available for any domain-specific language. First, we will need an input file that will serve as a signed source document. For this purpose, the file [catalog.example.xml][catalog] is used. We will also need the keys. We will use the private key to sign the document, precisely to encrypt the hash value calculated for the initial bitstream. We will use the public key to check the validity of the signature, precisely to decrypt the attached signature. +Let us now discuss how to implement the operation of signing an XML document and how to encapsulate the obtained signature in this document so as not to violate the rules of syntax control consistent with its schema. We are using XML but the same approach is available for any domain-specific language. First, we will need an input file that will serve as a signed source document. For this purpose, the file [catalog.example.xml][catalog] is used. We will also need the keys. We will use the private key to sign the document, precisely to encrypt the hash value calculated for the initial bitstream. We will use the public key to check the validity of the signature, precisely to decrypt the attached signature. The signing operation is performed in the [XmlSignatureTest][XmlSignatureTest] test method. This operation is implemented in the [SignSaveXml][SignSaveXml] method to which we passed the source document to be signed, the keys that will be used for signing, and the name of the document where the signed document is to be saved. In this method, apart from checking the correctness of the input arguments, we create an instance of the `RSACryptoServiceProvider` class, which is to be used to create a signature so that we can place the signature in this document. Signing itself means that we add a signature in the last instruction. To create this signature, we use the keys that we passed while invoking the method, so this instance is initialized with the keys that were passed here so that the entire signing process takes place using the keys that will be further used to check the signature. Finally, the signed document is saved to a file. @@ -201,17 +164,15 @@ So let's return to the [XmlSignatureTest][XmlSignatureTest] test method. We assu Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile]. We can see that the `Signature` element has been added. This document is currently erroneous because it is incompatible with the declared document schema. To fix it, the `Signature` element has to be removed from the XML document just after validation against the signature, and before using this document, for example for a deserialization operation; i.e. creating a graph of objects based on it. -A `Signature` element complies with the XML Digital Signature standard, namely [XML Signature Syntax and Processing Version 1.1][XMLS] issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains information about the signature, including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. - -### 5.6. Conclusion +A `Signature` element complies with the XML Digital Signature standard, namely [XML Signature Syntax and Processing Version 1.1][XMLS] issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains additional information including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. -We have already learned that there are two types of encryption. In the examples discussed in this chapter, only the asymmetric encryption method of the bitstreams is the subject of examination. Symmetric encryption has been the subject of the previous chapter covering the confidentiality of bitstreams. +### 4.6. Conclusion In this part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. This section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used to create a safe hash value interchange channel. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties to establish a secure session. It is generated for a short duration to be used to establish a secure session allowing for encrypting and decrypting bitstreams exchanged between the communicating parties. Initially, session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. -## 6. See Also +## 5. See Also -- Postol Mariusz; [Cybersecurity of External Streaming Data - Confidentiality][confidentiality] C# Corner, 2024. +- Postol Mariusz; [Cybersecurity of External Streaming Data - Confidentiality][confidentiality] C# Corner, 2024. - Postol Mariusz; [Cybersecurity of External Streaming Data - Integrity][CI] C# Corner, 2024. - Postol Mariusz; [External Data Management (ExDM)][ExDM]; C# Corner, 2024 - Postol Mariusz; [External Data - File and Stream Concepts][FileStream]; C# Corner, 2023 From 78d0c5a7f1eabc624adb2580d36f87324c74b227 Mon Sep 17 00:00:00 2001 From: MPostol Date: Wed, 6 Mar 2024 21:25:36 +0100 Subject: [PATCH 27/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - backup copy --- ExDataManagement/DataStreams/DataStreams/README.md | 3 ++- .../DataStreams/{ => DataStreams}/READMECryptography.md | 0 SUMMARY.md | 4 ++-- 3 files changed, 4 insertions(+), 3 deletions(-) rename ExDataManagement/DataStreams/{ => DataStreams}/READMECryptography.md (100%) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 6b6e505e..a1101215 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -11,10 +11,11 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams Implementation Examples +# Implementation Examples ## Table of Content +- [1. Key words](#1-key-words) - [1. Streaming Data Preface](#1-streaming-data-preface) - [2. File and Stream Concepts](#2-file-and-stream-concepts) - [2.1. Operating System Context](#21-operating-system-context) diff --git a/ExDataManagement/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md similarity index 100% rename from ExDataManagement/DataStreams/READMECryptography.md rename to ExDataManagement/DataStreams/DataStreams/READMECryptography.md diff --git a/SUMMARY.md b/SUMMARY.md index cf16f003..a4eb6edb 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -31,9 +31,9 @@ * [Fundamentals](ExDataManagement/READMEFundamentals.md) * [Prerequisites](ExDataManagement/READMEPrerequisites.md) * [Data Streams Preface](ExDataManagement/DataStreams/README.md) - * [Cryptography](ExDataManagement/DataStreams/READMECryptography.md) * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md) - * [Usage](ExDataManagement/DataStreams/DataStreams.UnitTest/README.md) + * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md) + * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md) * [Functional Programming Preface](ExDataManagement/FunctionalProgramming/README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) From 1853836f8595d5c21ed4a10f2d4eb22ba611afd3 Mon Sep 17 00:00:00 2001 From: MPostol Date: Wed, 6 Mar 2024 22:32:21 +0100 Subject: [PATCH 28/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - backup copy --- .../DataStreams.UnitTest/README.md | 45 +++++++++++-------- ExDataManagement/DataStreams/README.md | 2 - 2 files changed, 26 insertions(+), 21 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md index b462bf57..4408a971 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -16,44 +16,51 @@ ## Table of Content - [1. File and Stream Concepts](#1-file-and-stream-concepts) - - [1.1. FileExample class](#11-fileexample-class) + - [1.1. File Class](#11-file-class) - [1.2. Stream class](#12-stream-class) -- [2. See Also](#2-see-also) ## 1. File and Stream Concepts -Let's try this piece of program is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the polish translation `dziś jest` and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. +### 1.1. File Class + +Let's try this piece of program `FileExample` is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the polish translation `dziś jest` and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. -Let us examine the behavior of files using a specific programming example. Here I have a method that will save a text consisting of the words 'Today is' and the current date to a file. The word file appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it existed, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. +Let us examine the behavior of files using a specific programming example. Here I have the `CreateTextFile` method that will save a text consisting of the words 'Today is' and the current date to a file. The word `File` appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. + +``` csharp + File.Delete(name); +``` + +Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. + +So what's important to emphasize here is that the `File` class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. -So what's important to emphasize here is that the File class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. +The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class, as follows: -### 1.1. FileExample class +``` CSharp + using (Stream _stream = File.Open(name, FileMode.OpenOrCreate, FileAccess.Write)) + { + FileContent = String.Format(CultureInfo.InvariantCulture, "Today is {0}", DateTime.Now); + byte[] _content = Encoding.ASCII.GetBytes(FileContent); + _stream.Write(_content, 0, _content.Length); + } -The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class. The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. +``` + +The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies for different natural languages. I chose a variant that is independent of the natural language selection by the environment in which the program is executed. -In the next lines of the program, we write to the file. The file, as I have already said, is represented by a stream (`Stream`), and to write data to it first, we must prepare it. +In the next lines of the program, we write to the file. The file, as I have already said, is represented by the `Stream` type, and to write data to it first, we must prepare it. ### 1.2. Stream class We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. -Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with..., these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. +Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the stream of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with..., these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. Since a stream of characters must be prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with `...`, these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. It can be stated that this relationship between the text and the bitstream is defined by `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. - -## 2. See Also - -- [XSL\(T\) Languages][XSLW3C] -- [Serialization in .NET][STLZTN] -- [XML Schema Definition Tool (Xsd.exe)][XSD] - -[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) -[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) -[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index d9f4d2af..b32bf544 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -302,8 +302,6 @@ While YAML itself is not designed to be extended or derived into new languages, In essence, you can create a new language by establishing a set of guidelines for interpreting the YAML data in a specific way. This is often done in the context of configuration files or data representation for a particular software or system. Keep in mind that this is more about using YAML as a foundation and defining the semantics and rules for your specific language rather than formally deriving a new language from YAML. - - ## 5. See Also - [XSL\(T\) Languages][XSLW3C] From c7090e02482885a4ca428c0c13d80ee795d7413e Mon Sep 17 00:00:00 2001 From: MPostol Date: Thu, 7 Mar 2024 09:58:08 +0100 Subject: [PATCH 29/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - backup copy --- .../DataStreams.UnitTest/README.md | 48 +------ .../DataStreams/DataStreams/README.md | 126 ++++++++++++------ 2 files changed, 87 insertions(+), 87 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md index 4408a971..93d899b4 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -11,56 +11,10 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams - Usage +# Data Streams Unit Tests ## Table of Content - [1. File and Stream Concepts](#1-file-and-stream-concepts) - - [1.1. File Class](#11-file-class) - - [1.2. Stream class](#12-stream-class) ## 1. File and Stream Concepts - -### 1.1. File Class - -Let's try this piece of program `FileExample` is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the polish translation `dziś jest` and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. - -I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. - -Let us examine the behavior of files using a specific programming example. Here I have the `CreateTextFile` method that will save a text consisting of the words 'Today is' and the current date to a file. The word `File` appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. - -``` csharp - File.Delete(name); -``` - -Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. - -So what's important to emphasize here is that the `File` class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. - -The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class, as follows: - -``` CSharp - using (Stream _stream = File.Open(name, FileMode.OpenOrCreate, FileAccess.Write)) - { - FileContent = String.Format(CultureInfo.InvariantCulture, "Today is {0}", DateTime.Now); - byte[] _content = Encoding.ASCII.GetBytes(FileContent); - _stream.Write(_content, 0, _content.Length); - } - -``` - -The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. - -The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies for different natural languages. I chose a variant that is independent of the natural language selection by the environment in which the program is executed. - -In the next lines of the program, we write to the file. The file, as I have already said, is represented by the `Stream` type, and to write data to it first, we must prepare it. - -### 1.2. Stream class - -We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. - -Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the stream of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with..., these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. - -Since a stream of characters must be prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with `...`, these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. It can be stated that this relationship between the text and the bitstream is defined by `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. - -The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index a1101215..45efea05 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -16,32 +16,34 @@ ## Table of Content - [1. Key words](#1-key-words) -- [1. Streaming Data Preface](#1-streaming-data-preface) -- [2. File and Stream Concepts](#2-file-and-stream-concepts) - - [2.1. Operating System Context](#21-operating-system-context) - - [2.2. Program Context](#22-program-context) - - [2.3. XML-based Presentation](#23-xml-based-presentation) - - [2.4. XML-based Validation](#24-xml-based-validation) - - [2.5. XML-based Classes Generation](#25-xml-based-classes-generation) -- [3. Attributes](#3-attributes) - - [3.1. Profiling Development Environment](#31-profiling-development-environment) - - [3.2. Attribute Definition](#32-attribute-definition) - - [3.3. Attribute Use Based Directly on Type Definition](#33-attribute-use-based-directly-on-type-definition) - - [3.4. Attribute Use Based Indirectly on Type Instance](#34-attribute-use-based-indirectly-on-type-instance) - - [3.5. Summary](#35-summary) -- [4. Objects Serialization](#4-objects-serialization) - - [4.1. Introduction](#41-introduction) - - [4.2. Self-controlled](#42-self-controlled) - - [4.3. Attributes and Reflection](#43-attributes-and-reflection) - - [4.4. Reflection-base Object State](#44-reflection-base-object-state) -- [5. Bitstream Cybersecurity](#5-bitstream-cybersecurity) -- [6. See Also](#6-see-also) +- [2. Streaming Data Preface](#2-streaming-data-preface) +- [3. File and Stream Concepts](#3-file-and-stream-concepts) + - [3.1. Operating System Context](#31-operating-system-context) + - [3.2. Program Context](#32-program-context) + - [3.2.1. File Class](#321-file-class) + - [3.2.2. Stream class](#322-stream-class) + - [3.3. XML-based Presentation](#33-xml-based-presentation) + - [3.4. XML-based Validation](#34-xml-based-validation) + - [3.5. XML-based Classes Generation](#35-xml-based-classes-generation) +- [4. Attributes](#4-attributes) + - [4.1. Profiling Development Environment](#41-profiling-development-environment) + - [4.2. Attribute Definition](#42-attribute-definition) + - [4.3. Attribute Use Based Directly on Type Definition](#43-attribute-use-based-directly-on-type-definition) + - [4.4. Attribute Use Based Indirectly on Type Instance](#44-attribute-use-based-indirectly-on-type-instance) + - [4.5. Summary](#45-summary) +- [5. Objects Serialization](#5-objects-serialization) + - [5.1. Introduction](#51-introduction) + - [5.2. Self-controlled](#52-self-controlled) + - [5.3. Attributes and Reflection](#53-attributes-and-reflection) + - [5.4. Reflection-base Object State](#54-reflection-base-object-state) +- [6. Bitstream Cybersecurity](#6-bitstream-cybersecurity) +- [7. See Also](#7-see-also) ## 1. Key words Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, Serialization, Validation,Visualization -## 1. Streaming Data Preface +## 2. Streaming Data Preface The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. In general, the external data may be grouped as follows: @@ -51,9 +53,9 @@ The external data is recognized as the data we must pull or push from outside of This section collects descriptions of examples explaining the usage of the **streaming** data. -## 2. File and Stream Concepts +## 3. File and Stream Concepts -### 2.1. Operating System Context +### 3.1. Operating System Context Using the file explorer let's get details about the `.Media` folder containing files used in the examples: @@ -67,11 +69,55 @@ After double-clicking on the selected file (for example `PodpisCyfrowy.png`) an Here we may ask a question - how to describe this behavior? Well, a program was launched. This program must have been written by a programmer. The program opens the file as input data formatted as a bitstream, so the programmer had to know the syntax and semantics rules that were used in this file. The data contained in the file makes it possible to show the content graphically on the computer screen. This is the first example of graphical representation, but we will return to this topic later. -### 2.2. Program Context +### 3.2. Program Context Using a code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. We can learn from this example that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is formatted as a bitstream and represented by the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). -### 2.3. XML-based Presentation +#### 3.2.1. File Class + +Let's try this piece of program [FileExample class][FileExample] is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the polish translation `dziś jest` and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. + +I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. + +Let us examine the behavior of files using a specific programming example. Here I have the `CreateTextFile` method that will save a text consisting of the words 'Today is' and the current date to a file. The word `File` appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. + +``` csharp + File.Delete(name); +``` + +Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. + +So what's important to emphasize here is that the `File` class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. + +The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class, as follows: + +``` CSharp + using (Stream _stream = File.Open(name, FileMode.OpenOrCreate, FileAccess.Write)) + { + FileContent = String.Format(CultureInfo.InvariantCulture, "Today is {0}", DateTime.Now); + byte[] _content = Encoding.ASCII.GetBytes(FileContent); + _stream.Write(_content, 0, _content.Length); + } + +``` + +The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. + +The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies for different natural languages. I chose a variant that is independent of the natural language selection by the environment in which the program is executed. + +In the next lines of the program, we write to the file. The file, as I have already said, is represented by the `Stream` type, and to write data to it first, we must prepare it. + +#### 3.2.2. Stream class + +We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. + +Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the stream of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with..., these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. + +Since a stream of characters must be prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with `...`, these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. It can be stated that this relationship between the text and the bitstream is defined by `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. + +The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. + +### 3.3. XML-based Presentation Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. First answer we know from the examples above, namely the bitstream must be compliant with a well-known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human-readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: @@ -91,7 +137,7 @@ After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] i This XML declaration defines an additional document that is a stylesheet document and it contains a detailed description that allows to convert the source XML document into other text-based document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document. -### 2.4. XML-based Validation +### 3.4. XML-based Validation If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstream correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by the possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. @@ -113,7 +159,7 @@ Adding these attributes causes it to refer to the XML schema. The XML Schema allows to define additional syntax rules that will be used to check XML text against these rules. The syntax rules for the XML file must be met in a valid XML document. Hence, we can say that without the XML schema, it is just XML text. After adding schema we can define how to construct the document that is to be verified using this additional schema document. After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for further processing. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax rules, which should be derived from the document semantics. -### 2.5. XML-based Classes Generation +### 3.5. XML-based Classes Generation If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages or by different people. In this case, the problem arises of how to create types in other development environments that will represent the same information. Since we recognized the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. @@ -131,9 +177,9 @@ As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Cata In conclusion, thanks to the application of the XML schema, XML documents can be verified against additional syntax rules, and appropriate definitions in various languages may be generated, ensuring data conversion between various technologies and different programming platforms. -## 3. Attributes +## 4. Attributes -### 3.1. Profiling Development Environment +### 4.1. Profiling Development Environment Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used in the program any further. This way we try to fix an issue by preventing referencing of inadequate code instead of replacing it. In other words, there will be no further references to it in new programs. @@ -143,7 +189,7 @@ This warning should make us use some other alternative solutions. Of course, we The F12 key takes us to the definition and we see that the attribute is a class that is derived from the [Attribute][system.attribute] class. Now we can formulate a key question; whether we can define our attributes, which we may use to associate additional information with code in a declarative way to be used at run-time. -### 3.2. Attribute Definition +### 4.2. Attribute Definition To create a custom attribute I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the [System.Attribute][system.attribute] base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify the following things: @@ -168,7 +214,7 @@ Keeping in mind that the newly created attribute is a class, let's try to use it From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a constructor call. Unfortunately, the detailed discussion of these linguistic constructs syntax is beyond the scope of the article. To possibly fill in a gap in this respect, I recommend the C# language user manual. To make the discursion generic, from now on, we will only focus on the semantics, i.e. on the meaning, of these entries. -### 3.3. Attribute Use Based Directly on Type Definition +### 4.3. Attribute Use Based Directly on Type Definition So let's add a test method [AttributedClassTypeTest][AttributedClassTypeTest] in a test class, in which the code will refer to [AttributedClass][AttributedClass] that has been associated with an attribute. To refer to the type the [typeof][typeof] keyword is applied. As a result of using [typeof][typeof] an object of the [Type][system.type] type is instantiated for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of the [Type][system.type] type that will contain a reference to the object representing the [AttributedClass][AttributedClass] class definition. Notice that to avoid code cloning the main test functionality is gathered in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttributes` instance method. Additionally, in this case, it is specified that we are only interested in attributes of the selected type. We can then determine that there is returned an array with exactly one element in it. This element is of the [CustomAttribute][CustomAttribute] type, i.e. the type we associated with the class as a class attribute. @@ -178,7 +224,7 @@ So, once again, back to the nutshell of the topic. We can ask what role this lin The [AttributedClass][AttributedClass] class is preceded by the [CustomAttribute][CustomAttribute]. In the unit test, we have the [AttributedClassTypeTest][AttributedClassTypeTest] test method, which proves how to retrieve features of the definitions of this type by creating an instance of the [Type][system.type] type. The main testing stuff has been aggregated in the [GoTest][GoTest] method to reuse this functionality and avoid code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (instances of classes derived from the [System.Attribute][system.attribute] base type) that are created as a result of the `GetCustomAttributes` operation. In this approach, the identifier of the type definition is directly used. In this code snippet, the [typeof][typeof] is an operator, which is used to instantiate an object that represents metadata of a type, utilizing the identifier of an attribute type definition. The argument to the [typeof][typeof] operator must be the name of a type definition. -### 3.4. Attribute Use Based Indirectly on Type Instance +### 4.4. Attribute Use Based Indirectly on Type Instance In the above example [AttributedClassTypeTest][AttributedClassTypeTest] there is a weak point. Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms avoiding direct reference to the type definitions because we have to assume that the definition is invisible, hence we cannot use the keyword `typeof`. In general, we must assume that the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal at run-time with objects whose types we do not know. @@ -192,20 +238,20 @@ To show how to operate on objects without referring directly to their type defin How to recover the features of a type referring directly to this type we already know. This can be done by creating a [Type][system.type] instance for the selected type definition using the [typeof][typeof] keyword and an identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the [Object][Object] type comes in handy. Let me remind you that this operation is inherited from the [Object][Object] base class. It is the ultimate base class of all .NET classes; it is the root of the type hierarchy. So in our case, reflection starts when an instance of [Type][system.type] is created using the `GetType` method. It should be emphasized here that based on this example, we can conclude that reflection is related even to the [Object][Object] base type. -### 3.5. Summary +### 4.5. Summary To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][system.type] abstract type, which holds a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the [typeof][typeof] keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest] to avoid text cloning. -## 4. Objects Serialization +## 5. Objects Serialization -### 4.1. Introduction +### 5.1. Introduction To implement serialization/deserialization there is one more issue to discuss, namely how to manage the state of an object, i.e. reading and writing values to its selected members without directly referring to its type. The main problem is that if the concrete type is not visible we do have access to its members. We will analyze two approaches to implement this algorithm: - **self controlled** - The type exposes functionality that enables reading from and assigning to properties constituting the state - **attributes and reflection** - metadata added by attributes to select state contributors and reflection that enables reading from and assigning to properties constituting the state -### 4.2. Self-controlled +### 5.2. Self-controlled To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to properties defined as a member of a type that is a candidate to be serialized. @@ -233,7 +279,7 @@ The architecture of the solution shows that this class cannot have references (c public interface ISerializable ``` -### 4.3. Attributes and Reflection +### 5.3. Attributes and Reflection To prepare this example, let's use a previously defined class [Siyova16][Siyova16] that has a random name and several properties defined. All the members names are also random. The main goal of using a random definition is to explain how to deal with invisible types. @@ -243,7 +289,7 @@ In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a ta The functionality enabling the possibility to get access to a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] . The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target type of the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the [Type][system.type] type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. -### 4.4. Reflection-base Object State +### 5.4. Reflection-base Object State Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. @@ -255,11 +301,11 @@ As an example of reflection based data values access is the [Catalog][Catalog] c Let me stress again that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties without directly referencing the type definition. Additionally, in general, they don't have to be properties. -## 5. Bitstream Cybersecurity +## 6. Bitstream Cybersecurity - [In the file READMECryptography](..\READMECryptography.md) -## 6. See Also +## 7. See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] From 4114e2e9e99f3f23ca67f6a2229fe3c386a386ac Mon Sep 17 00:00:00 2001 From: MPostol Date: Thu, 7 Mar 2024 16:30:15 +0100 Subject: [PATCH 30/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - fixed typo in FileStreamUnitTest.cs - backup copy --- .../FileStreamUnitTest.cs | 22 ++++++++----------- .../DataStreams/DataStreams/README.md | 2 +- 2 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs b/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs index e7b5c00b..754347a0 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs @@ -1,6 +1,6 @@ //____________________________________________________________________________________________________________________________________ // -// Copyright (C) 2023, Mariusz Postol LODZ POLAND. +// Copyright (C) 2024, Mariusz Postol LODZ POLAND. // // To be in touch join the community by pressing the `Watch` button and get started commenting using the discussion panel at // @@ -18,20 +18,16 @@ namespace TP.DataStreams [TestClass] public class FileStreamUnitTest { - [TestClass] - public class FileTestClass + [TestMethod] + public void FileTestMethod() { - [TestMethod] - public void FileTestMethod() + string _fileName = "TestFileName.txt"; + FileExample _fileWrapper = new FileExample(); + _fileWrapper.CreateTextFile(_fileName); + using (StreamReader _stream = File.OpenText(_fileName)) { - string _fileName = "TestFileName.txt"; - FileExample _fileWrapper = new FileExample(); - _fileWrapper.CreateTextFile(_fileName); - using (StreamReader _stream = File.OpenText(_fileName)) - { - string _content = _stream.ReadToEnd(); - Assert.AreEqual(_content, _fileWrapper.FileContent); - } + string _content = _stream.ReadToEnd(); + Assert.AreEqual(_content, _fileWrapper.FileContent); } } } diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 45efea05..9610d321 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -75,7 +75,7 @@ Using a code snippet located in the [FileExample class][FileExample] differences #### 3.2.1. File Class -Let's try this piece of program [FileExample class][FileExample] is checked by a unit test. As we can see, this unit test was successful. But let's try to replace this caption `Today is` with the polish translation `dziś jest` and let's do the test again. We already have the result. Unfortunately, the result is not positive and we see that the expected text is different from the text we received. So the behavior of our program is different from before because we introduced Polish letters. There is also a typo here, but it doesn't matter here. What matters is that one letter has been omitted, the letter s with a dash. Why? Because I chose an encoding that does not contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the content of the file corresponds to the string of characters, the text that was saved to it, including the letters that are national letters. +Let's try this the [FileExample class][FileExample] piece of program. A unit test checks it. After executing it, we noticed that this unit test was successful. But let's try to replace this caption `Today is` with the Polish translation `dziś jest` and let's execute the test again. Unfortunately, the result points out that the test hasn't passed. It may mean that the behavior of our program is different from before because we introduced Polish letters. The main reason for this problem is that I used an encoding that doesn't contain Polish letters. Precisely, a represented set of characters doesn't contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the file's content corresponds to the string of characters, the text that was saved to it, including the national letters. I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. From 3088e7265f9029375f755f4a3e1258beb23ac833 Mon Sep 17 00:00:00 2001 From: MPostol Date: Thu, 7 Mar 2024 17:13:45 +0100 Subject: [PATCH 31/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - fixed link using latest release: 5.13-Delta - backup copy --- .../DataStreams/DataStreams/README.md | 50 ++++++++++--------- 1 file changed, 26 insertions(+), 24 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 9610d321..81fb873a 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -75,7 +75,7 @@ Using a code snippet located in the [FileExample class][FileExample] differences #### 3.2.1. File Class -Let's try this the [FileExample class][FileExample] piece of program. A unit test checks it. After executing it, we noticed that this unit test was successful. But let's try to replace this caption `Today is` with the Polish translation `dziś jest` and let's execute the test again. Unfortunately, the result points out that the test hasn't passed. It may mean that the behavior of our program is different from before because we introduced Polish letters. The main reason for this problem is that I used an encoding that doesn't contain Polish letters. Precisely, a represented set of characters doesn't contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the file's content corresponds to the string of characters, the text that was saved to it, including the national letters. +Let's try the [FileExample class][FileExample]. This class is tested using the [FileStreamUnitTest][FileStreamUnitTest] unit test. After executing the test, we noticed that this test finished with success. But let's try to replace this caption `Today is` with the Polish translation `dziś jest` and let's execute the test again. Unfortunately, the result points out that the test hasn't passed. It may mean that the behavior of our program is different from before because we introduced Polish letters. The main reason for this problem is that I used an encoding that doesn't contain Polish letters. Precisely, a represented set of characters doesn't contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the file's content corresponds to the string of characters, the text that was saved to it, including the national letters. I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. @@ -319,37 +319,39 @@ Let me stress again that we have two issues that we need to resolve. The first o [AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 -[FileExample]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 +[FileExample]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 -[AttachedProperty]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 +[AttachedProperty]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 -[AttributedClass]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L17-L24 -[CustomAttribute]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 +[AttributedClass]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L17-L24 +[CustomAttribute]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 -[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 -[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 -[ObjectFactory]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 -[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 -[Siyova16]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 -[typeof]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 -[CustomAttributeTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 -[GoTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 +[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 +[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 +[ObjectFactory]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 +[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 +[Siyova16]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 +[typeof]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 +[CustomAttributeTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 +[GoTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 -[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 +[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 -[CustomFormatter]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 +[CustomFormatter]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter -[SelfControlSerialization]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 -[Catalog]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 -[Catalog.cs]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 +[SelfControlSerialization]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 +[Catalog]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +[Catalog.cs]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 -[IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 -[XmlFile]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 +[IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 +[XmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 -[GoCS]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 +[GoCS]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 -[catalogexamplexml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[catalogexamplexml]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 [Object]: https://learn.microsoft.com/dotnet/api/system.object -[SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 +[SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 +[FileStreamUnitTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs#L19-L33 + From 538a512f6965689e30395f68ab9f7738123c2c27 Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 8 Mar 2024 12:19:15 +0100 Subject: [PATCH 32/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - backup copy --- .../DataStreams/DataStreams/README.md | 37 ++++++++----------- 1 file changed, 16 insertions(+), 21 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index 81fb873a..e57f7727 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -36,7 +36,6 @@ - [5.2. Self-controlled](#52-self-controlled) - [5.3. Attributes and Reflection](#53-attributes-and-reflection) - [5.4. Reflection-base Object State](#54-reflection-base-object-state) -- [6. Bitstream Cybersecurity](#6-bitstream-cybersecurity) - [7. See Also](#7-see-also) ## 1. Key words @@ -69,25 +68,27 @@ After double-clicking on the selected file (for example `PodpisCyfrowy.png`) an Here we may ask a question - how to describe this behavior? Well, a program was launched. This program must have been written by a programmer. The program opens the file as input data formatted as a bitstream, so the programmer had to know the syntax and semantics rules that were used in this file. The data contained in the file makes it possible to show the content graphically on the computer screen. This is the first example of graphical representation, but we will return to this topic later. +👎 I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. + ### 3.2. Program Context -Using a code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. We can learn from this example that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is formatted as a bitstream and represented by the `Stream` class. It is an abstract class that represents basic operations on a data stream (on the stream of bytes), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). +Using a code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. We can learn from this example that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is formatted as a bitstream and represented by the abstract `Stream` class. It is an abstract class that represents basic operations on a data stream (on the bitstream), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). #### 3.2.1. File Class -Let's try the [FileExample class][FileExample]. This class is tested using the [FileStreamUnitTest][FileStreamUnitTest] unit test. After executing the test, we noticed that this test finished with success. But let's try to replace this caption `Today is` with the Polish translation `dziś jest` and let's execute the test again. Unfortunately, the result points out that the test hasn't passed. It may mean that the behavior of our program is different from before because we introduced Polish letters. The main reason for this problem is that I used an encoding that doesn't contain Polish letters. Precisely, a represented set of characters doesn't contain Polish letters. If we take an encoding that contains Polish letters and perform this test again, this time we see that the test is green. This means that the file's content corresponds to the string of characters, the text that was saved to it, including the national letters. - -I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. +Let's try the [FileExample][FileExample] class. This class is referred to by the [FileStreamUnitTest][FileStreamUnitTest] unit test. After executing the test, we can notice that the test finishes with success. But let's try to replace this caption `Today is` with the Polish translation `dziś jest` and let's execute the test again. Unfortunately, the result points out that the test hasn't passed. It may mean that the behavior of our program is different from before because we introduced Polish letters. The main reason for this problem is that I used an encoding that doesn't contain Polish letters. Precisely, a represented set of characters doesn't contain Polish letters. If we apply an encoding that supports Polish letters the test is green - it means that it passed. This means that the file's content corresponds to the stream of characters containing the national letters. Hence, it can be concluded that the bitstream becomes text after applying directly or indirectly an encoding. The set of valid characters in the stream depends on the selected encoding. -Let us examine the behavior of files using a specific programming example. Here I have the `CreateTextFile` method that will save a text consisting of the words 'Today is' and the current date to a file. The word `File` appears at the very beginning. The F12 key will take us to the definition. Here we will notice that this class is a static class. So there are no instances of it, we cannot create objects of this class. So this class cannot represent an individual file. Can represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was given as a parameter as the current parameter. +Let us examine the behavior of files using the mentioned previously [FileExample][FileExample] class, which contains the `CreateTextFile` method. The main responsibility of this method is to save a text consisting label 'Today is' and the current date to a file. To accomplish this requirement a file is needed. The word `File` appears at the very beginning of the method. ``` csharp File.Delete(name); ``` -Another interesting thing in this example is the `Open` operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is obviously an enumeration type providing all option that can be used. We see that we have several options here. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other process can operate on this file once we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. +The F12 key will take us to the definition. From the definition, it can be learned that this class is static. So there are no instances of it, we cannot create objects of this class. It is just an organization container. So this class cannot represent an individual file. It can only represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was passed by a parameter. -So what's important to emphasize here is that the `File` class does not represent a file. The class represents the file system. It contains operations that we can perform on any file that is available to the computer. +Another interesting thing in this example is the [Open][Open] operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is an enumeration type providing all options that can be used. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other processes can operate on this file after we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. + +So what's important to emphasize here is that the `File` class does not represent a file. The class represents a file system. It contains operations that we can perform on any file that is available to the computer. The `Open` operation available in the `File` class creates an object (instance) of the `Stream` class, as follows: @@ -101,21 +102,19 @@ The `Open` operation available in the `File` class creates an object (instance) ``` -The F12 key takes us back to the definition and in this case, we see that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class functionality has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. +Use the `Go to definition` menu entry to visit the definition of the `Stream` class. let me stress that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class responsibility has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. -The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies for different natural languages. I chose a variant that is independent of the natural language selection by the environment in which the program is executed. +The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies and is dependent on locale selection. I chose a variant that is independent of the computer locale selection in the operating system settings. -In the next lines of the program, we write to the file. The file, as I have already said, is represented by the `Stream` type, and to write data to it first, we must prepare it. +In the next lines of the program, we write to the file. The file is represented by the `Stream` type, and to write data to it first, we must prepare it. It means that a bitstream must be generated based on the text to be written to the file content. #### 3.2.2. Stream class -We must be aware of how the data can be prepared, let's look at the definition. Analyzing the possibilities of writing to the stream we see that all `Write' operations operate on a sequence of bytes. So in this case, and also in all other cases where we will use a stream to represent other data media, the data will always be organized in such a way that they are simply streams of bytes, which means a stream of bits. - -Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the stream of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with..., these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. +We must be aware of how the data can be prepared. Let's look at the definition of the `Stram` type. Analyzing members that may be used to write to a variable of `Stream` type we see that all `Write' operations have parameters of type a sequence of bytes. So in this case, and in all other cases where we will use a stream to represent other data types, the data will always be formatted as the bitstream. -Since a stream of characters must be prepared in some way to be saved in a file, there must be a relationship between the string of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, we said that a program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with `...`, these first two characters appear only in some position, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. It can be stated that this relationship between the text and the bitstream is defined by `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. +👎 Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the stream of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, it was stated that any program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with "\\" as is presented on the screen. These first two characters appear in the content but later, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. -The last thing remains to be explained, namely the close operation, which we perform on the stream, since the open operation appeared at the beginning, naturally the close operation must appear at the end. It is again fundamentally important because it closes the file, which means that it closes the critical section at this point. So from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear as quickly as possible, i.e. it should appear immediately when we stop working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The `Close` operation will virtually never be executed. We will never reach this line. So this file will be closed by the environment at some point. However, this will not happen immediately. Therefore, we should use different operations here, a different approach, and take advantage of the fact that `Stream`, let's go F12 again to the definition, implements the IDisposable interface, which allows the use of the `using` instruction. The final form of the example would look something like this, in which we have the operation, statement `using`, which causes the dispose operation to be executed against the `stream` variable last. If the string or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will actually be closed immediately when the next program statements will no longer have access to the `stream` variable due to the fact that it goes out of visibility range. +The last thing remains to be explained, namely the close operation, which we perform on the stream. Since the open operation appeared at the beginning, in contrast, the closing operation must appear at the end. It is again fundamentally important because it closes the file, which means that the critical section is no longer needed. So, from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear immediately after finishing working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The throw statement breaks the sequence of statements to be executed. As a result, the `Close` operation will never be executed. Using modern execution environments forces this file will be closed by the environment at some point. However, this will not happen immediately and we should use different operations here, a different approach, and take advantage of the fact that `Stream` implements the IDisposable interface, which allows the use of the `using` statement. The `using` statement causes the dispose operation to be executed against the `stream` variable as the last method invocation before exiting the using visibility scope. If the stream or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will be closed immediately when the next program statements no longer have access to the `stream` variable because it goes out of the visibility range. ### 3.3. XML-based Presentation @@ -301,10 +300,6 @@ As an example of reflection based data values access is the [Catalog][Catalog] c Let me stress again that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties without directly referencing the type definition. Additionally, in general, they don't have to be properties. -## 6. Bitstream Cybersecurity - -- [In the file READMECryptography](..\READMECryptography.md) - ## 7. See Also - [XSL\(T\) Languages][XSLW3C] @@ -354,4 +349,4 @@ Let me stress again that we have two issues that we need to resolve. The first o [Object]: https://learn.microsoft.com/dotnet/api/system.object [SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 [FileStreamUnitTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs#L19-L33 - +[Open]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L24-L29 From ff9fa28fdc4372cd6fea3ead27d47dada1838b05 Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 8 Mar 2024 13:00:36 +0100 Subject: [PATCH 33/67] ExDM Add documentation to the selected parts of the code #369 - changed programming pattern to design pattern in selected files - backup copy --- AdaptiveProgramming/README.md | 4 ++-- InformationComputation/DependencyInjection/README.md | 2 +- InformationComputation/LayersCommunication/README.md | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/AdaptiveProgramming/README.md b/AdaptiveProgramming/README.md index 941c64ad..b19e530a 100644 --- a/AdaptiveProgramming/README.md +++ b/AdaptiveProgramming/README.md @@ -10,7 +10,7 @@ The adaptive programming is presented as a catalog of language constructs, patte ## Goal -The aim of the course is to expand knowledge and improve skills of software development thanks to using technology and programming patterns to enable adaptation of the created program against the changing requirements and capabilities of the run-time production environment. This objective includes issues related to the practical knowledge of technology dedicated to postpone the decisions regarding software interoperability with development framework and the external environment. Students learn the selected technologies, design patterns, archetypes and their practical implementation in the .NET with the goal to be used while developing their own programs. +The aim of the course is to expand knowledge and improve skills of software development thanks to using technology and design patterns to enable adaptation of the created program against the changing requirements and capabilities of the run-time production environment. This objective includes issues related to the practical knowledge of technology dedicated to postpone the decisions regarding software interoperability with development framework and the external environment. Students learn the selected technologies, design patterns, archetypes and their practical implementation in the .NET with the goal to be used while developing their own programs. ## Learning outcomes @@ -97,7 +97,7 @@ The lecture is focused on the following topics: * attributed programming model, * dynamic programming, * expression representation and their translation as required by the target external system -* architecture and programming patterns related to access external data based management systems +* architecture and design patterns related to access external data based management systems * materialization to save objects state and objects graph relationship using XML, JSON, etc., * object relation mapping, * program composition using independently developed modules diff --git a/InformationComputation/DependencyInjection/README.md b/InformationComputation/DependencyInjection/README.md index 39ee1b94..9736af62 100644 --- a/InformationComputation/DependencyInjection/README.md +++ b/InformationComputation/DependencyInjection/README.md @@ -41,7 +41,7 @@ Testing the returned data and behavior correctness is a run-time task and requir This course is not focussed on testing therefore we can introduce many simplifications making our example especially readable for examination of a selected design pattern, I mean dependency injection and a better understanding of object-oriented programming. First, we can notice that our methods don't return any data so validation in this respect is not necessary. -In the ConstructorInjection and PropertyInjection classes, we have a few methods named Alfa, Bravo, Charlie, and Delta. For the sake of simplicity let's just assume that our job is to test only the sequence in which the methods are called. For testing purposes, I have applied a tracing mechanism. One of the benefits of this approach is the possibility to reuse it also in the production environment if needed. To test the sequence in which the methods are called each one calls an instance method of an object whose reference is assigned to the private `TraceSource` field. Because it is not about testing but about programming patterns the question, which will lead our discussion is how and where to create the object that is used for tracing purposes. +In the ConstructorInjection and PropertyInjection classes, we have a few methods named Alfa, Bravo, Charlie, and Delta. For the sake of simplicity let's just assume that our job is to test only the sequence in which the methods are called. For testing purposes, I have applied a tracing mechanism. One of the benefits of this approach is the possibility to reuse it also in the production environment if needed. To test the sequence in which the methods are called each one calls an instance method of an object whose reference is assigned to the private `TraceSource` field. Because it is not about testing but about design patterns the question, which will lead our discussion is how and where to create the object that is used for tracing purposes. ## Polymorphism diff --git a/InformationComputation/LayersCommunication/README.md b/InformationComputation/LayersCommunication/README.md index b242acf5..fa80e2f5 100644 --- a/InformationComputation/LayersCommunication/README.md +++ b/InformationComputation/LayersCommunication/README.md @@ -22,7 +22,7 @@ The main challenge we will face up is how to implement all of that using layered ## Introduction To Examples -I have prepared a few examples to explain how control flow, data transfer, and event notification fulfill requirements of the bidirectional inter-layers communication. To make it as straightforward as possible, we will return to the example discussed in the dependency injection context. Let's assume that our task is to ship a library for an unknown in advance number of users. Additionally, we don't know where and how our library will be used. We only assume that it is the logic layer. The presentation and data layers have been added to make the examples more comprehensive. The examples to be investigated are located in the project `LayersCommunication`. We will use many communication patterns to validate the sequence of methods invocation. In other words, we will test the behavior of a program. The mentioned set of methods contains methods named Alfa, Bravo, Charlie, and Delta. The methods must be invoked in alphabetical order. Of course, in a production environment, we must provide only one implementation of this set but for the sake of example, we have independent implementations for proposed programming patterns. +I have prepared a few examples to explain how control flow, data transfer, and event notification fulfill requirements of the bidirectional inter-layers communication. To make it as straightforward as possible, we will return to the example discussed in the dependency injection context. Let's assume that our task is to ship a library for an unknown in advance number of users. Additionally, we don't know where and how our library will be used. We only assume that it is the logic layer. The presentation and data layers have been added to make the examples more comprehensive. The examples to be investigated are located in the project `LayersCommunication`. We will use many communication patterns to validate the sequence of methods invocation. In other words, we will test the behavior of a program. The mentioned set of methods contains methods named Alfa, Bravo, Charlie, and Delta. The methods must be invoked in alphabetical order. Of course, in a production environment, we must provide only one implementation of this set but for the sake of example, we have independent implementations for proposed design patterns. ## Program Architecture From 72abf036fc487e70f9b1e0d0d4d8db01d0368194 Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 8 Mar 2024 21:45:58 +0100 Subject: [PATCH 34/67] ExDM Add documentation to the selected parts of the code #369 - finished ExDataManagement/README.md - backup copy --- ExDataManagement/README.md | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index 2fc4903a..21974afc 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -1,3 +1,16 @@ + + # 1. External Data Management (ExDM) ## Table of Content @@ -78,15 +91,4 @@ This section and subsections address examples of practical scenarios regarding v [MPUdemy]: https://www.udemy.com/user/mariusz-postol/ [udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 - + From 0fc51cc6128935f23fd062dd6eababa80f4cb3b5 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 17 Mar 2024 21:46:19 +0100 Subject: [PATCH 35/67] ExDM Add documentation to the selected parts of the code #369 - DataStreams fixed for now --- .../DataStreams/DataStreams/README.md | 183 ++++++++--------- .../DataStreams/READMESerialization.md | 154 ++++++++------- ExDataManagement/DataStreams/README.md | 184 +++++++++--------- ExDataManagement/README.md | 33 ++-- 4 files changed, 278 insertions(+), 276 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index e57f7727..219f3c18 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -1,7 +1,7 @@ -- [1. Key words](#1-key-words) -- [2. Streaming Data Preface](#2-streaming-data-preface) -- [3. File and Stream Concepts](#3-file-and-stream-concepts) - - [3.1. Operating System Context](#31-operating-system-context) - - [3.2. Program Context](#32-program-context) - - [3.2.1. File Class](#321-file-class) - - [3.2.2. Stream class](#322-stream-class) - - [3.3. XML-based Presentation](#33-xml-based-presentation) - - [3.4. XML-based Validation](#34-xml-based-validation) - - [3.5. XML-based Classes Generation](#35-xml-based-classes-generation) -- [4. Attributes](#4-attributes) - - [4.1. Profiling Development Environment](#41-profiling-development-environment) - - [4.2. Attribute Definition](#42-attribute-definition) - - [4.3. Attribute Use Based Directly on Type Definition](#43-attribute-use-based-directly-on-type-definition) - - [4.4. Attribute Use Based Indirectly on Type Instance](#44-attribute-use-based-indirectly-on-type-instance) - - [4.5. Summary](#45-summary) -- [5. Objects Serialization](#5-objects-serialization) - - [5.1. Introduction](#51-introduction) - - [5.2. Self-controlled](#52-self-controlled) - - [5.3. Attributes and Reflection](#53-attributes-and-reflection) - - [5.4. Reflection-base Object State](#54-reflection-base-object-state) -- [7. See Also](#7-see-also) - -## 1. Key words +- [Key words](#key-words) +- [Streaming Data Preface](#streaming-data-preface) +- [File and Stream Concepts](#file-and-stream-concepts) + - [Operating System Context](#operating-system-context) + - [Program Context](#program-context) + - [File Class](#file-class) + - [Stream class](#stream-class) + - [XML-based Presentation](#xml-based-presentation) + - [XML-based Validation](#xml-based-validation) + - [XML-based Classes Generation](#xml-based-classes-generation) +- [Attributes](#attributes) + - [Introduction](#introduction) + - [Profiling Development Environment](#profiling-development-environment) + - [Attribute Definition](#attribute-definition) + - [Attribute Use Based Directly on Type Definition](#attribute-use-based-directly-on-type-definition) + - [Attribute Use Based Indirectly on Type Instance](#attribute-use-based-indirectly-on-type-instance) + - [Summary](#summary) +- [Reflection](#reflection) + - [Preface](#preface) + - [Example](#example) +- [See Also](#see-also) + +## Key words Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, Serialization, Validation,Visualization -## 2. Streaming Data Preface +## Streaming Data Preface The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. In general, the external data may be grouped as follows: @@ -52,9 +51,9 @@ The external data is recognized as the data we must pull or push from outside of This section collects descriptions of examples explaining the usage of the **streaming** data. -## 3. File and Stream Concepts +## File and Stream Concepts -### 3.1. Operating System Context +### Operating System Context Using the file explorer let's get details about the `.Media` folder containing files used in the examples: @@ -70,15 +69,15 @@ Here we may ask a question - how to describe this behavior? Well, a program was 👎 I have files of different types here, which would indicate that they are data for different programs. But for example, if we click on this file twice, we will receive information from the operating system that it does not know what program it is associated with. What program can open this file? But I have a program here that can open any file. This program, like the previous one, opens this file, reads its contents, and displays its contents on the screen using hexadecimal code. This means that a file is actually a composite, a sequence of bytes. Since each byte is a sequence of bits, we can conclude that the content of each file is a sequence of bits. -### 3.2. Program Context +### Program Context -Using a code snippet located in the [FileExample class][FileExample] differences between file and stream may be explained from a program point of view. We can learn from this example that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is formatted as a bitstream and represented by the abstract `Stream` class. It is an abstract class that represents basic operations on a data stream (on the bitstream), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). +Using a code snippet located in the [FileExample][FileExample] class differences between file and stream may be explained from a program point of view. We can learn from this example that the `File` is a static class that represents the available file system and provides typical operations against this file system. The content of the file is formatted as a bitstream and represented by the abstract `Stream` class. It is an abstract class that represents basic operations on a data stream (on the bitstream), which allows mapping the behavior of various media that can be used to store or transmit data as the bitstream. From this perspective, it can be proved, that file content is always a bitstream (a stream of bytes). -#### 3.2.1. File Class +#### File Class Let's try the [FileExample][FileExample] class. This class is referred to by the [FileStreamUnitTest][FileStreamUnitTest] unit test. After executing the test, we can notice that the test finishes with success. But let's try to replace this caption `Today is` with the Polish translation `dziś jest` and let's execute the test again. Unfortunately, the result points out that the test hasn't passed. It may mean that the behavior of our program is different from before because we introduced Polish letters. The main reason for this problem is that I used an encoding that doesn't contain Polish letters. Precisely, a represented set of characters doesn't contain Polish letters. If we apply an encoding that supports Polish letters the test is green - it means that it passed. This means that the file's content corresponds to the stream of characters containing the national letters. Hence, it can be concluded that the bitstream becomes text after applying directly or indirectly an encoding. The set of valid characters in the stream depends on the selected encoding. -Let us examine the behavior of files using the mentioned previously [FileExample][FileExample] class, which contains the `CreateTextFile` method. The main responsibility of this method is to save a text consisting label 'Today is' and the current date to a file. To accomplish this requirement a file is needed. The word `File` appears at the very beginning of the method. +Let us examine the behavior of files using the mentioned previously [FileExample][FileExample] class, which contains the `CreateTextFile` method. The main responsibility of this method is to save a text consisting label 'Today is' and the current date to a file. To accomplish this requirement a file is needed. The word `File` appears at the very beginning of the method. ``` csharp File.Delete(name); @@ -86,7 +85,7 @@ Let us examine the behavior of files using the mentioned previously [FileExample The F12 key will take us to the definition. From the definition, it can be learned that this class is static. So there are no instances of it, we cannot create objects of this class. It is just an organization container. So this class cannot represent an individual file. It can only represent all files. It provides operations related to files, where I used one of them and this operation deletes the file whose name was passed by a parameter. -Another interesting thing in this example is the [Open][Open] operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is an enumeration type providing all options that can be used. I chose the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other processes can operate on this file after we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. +Another interesting thing in this example is the [Open][Open] operation. The question is why to perform the open operation on a file, and what this operation would be used for. We want to save the text, but we perform open operations. Here the answer is provided by a parameter called `FileAccess`. It is an enumeration type providing all options that can be used. I selected the write operation because I want to write to this file. Well, this operation is fundamental to the use of files that we will use later, because it causes the file that is being created or opened, if it exists, to become a critical section. What does it mean? This means that no other processes can operate on this file after we have opened it. So if this file were to be used or shared by multiple applications, a lock placed by the operating system will prevent this and only allow one process to write to the file. This can have crucial consequences in a situation where for example we use a file in a hospital in which patient data is saved and is used in various places by doctors. To gain access to data at the reception, where further names are added. After someone opens the file for writing - as in this example - no one else can use the file. So what's important to emphasize here is that the `File` class does not represent a file. The class represents a file system. It contains operations that we can perform on any file that is available to the computer. @@ -102,21 +101,27 @@ The `Open` operation available in the `File` class creates an object (instance) ``` -Use the `Go to definition` menu entry to visit the definition of the `Stream` class. let me stress that it is an abstract class. What does it mean? This means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class responsibility has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. +Use the `Go to definition` menu entry to visit the definition of the `Stream` class. Let me stress that it is an abstract class. It means that it can represent not only files but can also represent other resources. It is an abstract class and thanks to its various implementations we can ensure the polymorphic behavior of various objects it represents. In simpler terms, if this class represents a file in the file system, these operations will be performed by the operating system on behalf of a file system, if this class represents, for example, a computer network and operations related to a computer network, then again we will have to deal with the operations that are performed, but this time not on resources related to the file system but on resources related to the computer network. If this class represents an object that is in memory, its behavior will also be completely different than the two previously mentioned ones. We will come back to this topic by discussing various examples in which the `Stream` class responsibility has been overwritten, and inherited by classes that represent different behaviors, i.e. polymorphic behaviors of various resources that we can use to store and manage data. The next line does not add much to the considerations regarding the use of files to store data processed by the program. This line is where the final formatting of the string of characters to be saved takes place. The only interesting point is the possibility of choosing the syntax that will be used to write the date text form. This syntax varies and is dependent on locale selection. I chose a variant that is independent of the computer locale selection in the operating system settings. -In the next lines of the program, we write to the file. The file is represented by the `Stream` type, and to write data to it first, we must prepare it. It means that a bitstream must be generated based on the text to be written to the file content. +In the next lines of the program, we write to the file. -#### 3.2.2. Stream class +``` CSharp + _stream.Write(_content, 0, _content.Length); +``` + +The file is represented by the `Stream` type, and to write data to it first, we must prepare it. It means that a bitstream must be generated based on the text to be written to the file content. -We must be aware of how the data can be prepared. Let's look at the definition of the `Stram` type. Analyzing members that may be used to write to a variable of `Stream` type we see that all `Write' operations have parameters of type a sequence of bytes. So in this case, and in all other cases where we will use a stream to represent other data types, the data will always be formatted as the bitstream. +#### Stream class + +We must be aware of how the data can be prepared. Let's look at the definition of the `Stream` type. Analyzing members that may be used to write to a variable of `Stream` type we see that all `Write' operations have parameters of type a sequence of bytes. So in this case, and in all other cases where we will use a stream to represent other data types, the data will always be formatted as the bitstream. 👎 Since a stream of characters must be specially prepared in some way to be saved in a file, there must be a relationship between the stream of characters, i.e. text, and the binary content of the file. Let me remind you that at the very beginning, it was stated that any program is also a text. Let's look at this example, which starts with these two characters. If we open this file in a program that allows us to analyze the content at the binary level, we will see that this file does not start with "\\" as is presented on the screen. These first two characters appear in the content but later, and this file does not start with these characters. This, among other things, indicates that there is some kind of ambiguity between the text that is displayed on the computer screen, i.e. here the first two characters, and the content of the file, the binary file. We say that this relationship between the text and the bitstream is `Encoding`. We have different standards for converting bits to characters and characters to bits. One of them is the ASCII standard. A widely known standard that contains definitions - a table that tells how to represent binary characters. The table is finished, therefore the number of characters is strictly defined. The last thing remains to be explained, namely the close operation, which we perform on the stream. Since the open operation appeared at the beginning, in contrast, the closing operation must appear at the end. It is again fundamentally important because it closes the file, which means that the critical section is no longer needed. So, from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear immediately after finishing working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The throw statement breaks the sequence of statements to be executed. As a result, the `Close` operation will never be executed. Using modern execution environments forces this file will be closed by the environment at some point. However, this will not happen immediately and we should use different operations here, a different approach, and take advantage of the fact that `Stream` implements the IDisposable interface, which allows the use of the `using` statement. The `using` statement causes the dispose operation to be executed against the `stream` variable as the last method invocation before exiting the using visibility scope. If the stream or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will be closed immediately when the next program statements no longer have access to the `stream` variable because it goes out of the visibility range. -### 3.3. XML-based Presentation +### XML-based Presentation Using bitstreams (file content) we must face a problem with how to make bitstreams human readable. First answer we know from the examples above, namely the bitstream must be compliant with a well-known application. Unfortunately, this answer is not always applicable. Therefore we should consider another answer, namely human-readable representation should be close to natural language. Of course, we have no measure here and therefore it is difficult to say whether a bitstream is close enough to natural language to be comprehensible. The first requirement for humans to understand the stream is that it has to be formatted as text. To recognize bitstream as the text directly or indirectly an encoding must be associated. An example of how to associate directly an encoding with the bitstream is the following XML code snippet: @@ -136,7 +141,7 @@ After implementation of the [IStylesheetNameProvider][IStylesheetNameProvider] i This XML declaration defines an additional document that is a stylesheet document and it contains a detailed description that allows to convert the source XML document into other text-based document. If we open the source document by clicking on it, we will open a web browser and the source file will be displayed in a graphical form that can be much easier to understand by people who are not familiar with XML technology. If we look at the source of this document using the browser context menu, we can see that it is simply the earliest XML document. This document that we originally had just got transformed thanks to browser transformation. So browsers have a built-in mechanism to convert an XML file to any other text file, in this case, it is an HTML file based on a defined XML stylesheet document. -### 3.4. XML-based Validation +### XML-based Validation If we are talking about exchanging data between different applications or between an application and a human, the issue of bitstream correctness arises. This issue should be considered on two independent levels. The first one is the correctness of the bitstream as a certain stream of signs, i.e. when the syntax rules are met. The second one is determined by the possibility of assigning information to these sequences and therefore assigning meaning to a bitstream. @@ -158,11 +163,17 @@ Adding these attributes causes it to refer to the XML schema. The XML Schema allows to define additional syntax rules that will be used to check XML text against these rules. The syntax rules for the XML file must be met in a valid XML document. Hence, we can say that without the XML schema, it is just XML text. After adding schema we can define how to construct the document that is to be verified using this additional schema document. After attaching the rules described in the schema, we can therefore verify the document and assume that if the document does not comply with the schema, it means that it is not valid and should be rejected instead of being used for further processing. Thanks to this, we can ensure that documents transferred between individual applications will be verified from the point of view of their syntax rules, which should be derived from the document semantics. -### 3.5. XML-based Classes Generation +### XML-based Classes Generation If we are talking about communication between different remote applications, we must consider a scenario in which these applications are written in different programming languages or by different people. In this case, the problem arises of how to create types in other development environments that will represent the same information. Since we recognized the schema as a good idea to validate XML documents, i.e. XML texts, and check whether the XML text is the XML document we expect, then maybe we should turn the issue upside down and generate types in selected programming language based on XML schema. -Let's try to see how this goal can be achieved using an example. To generate classes in CSharp, I have prepared a script [GoCS.cmd][GoCS] that uses the XSD command line application (this program is available in the Visual Studio environment). This program is used to generate the classes that we previously created manually. The classes are generated automatically based on the `Catalog.xsd` schema. We should get the result in the file created manually previously. +Let's try to see how this goal can be achieved using an example. To generate classes in CSharp, I have prepared a script [GoCS.cmd][GoCS] that uses the XSD command line application (this program is available in the Visual Studio environment). + +``` CSharp +xsd.exe Catalog.xsd /N:TP.DataStreams.Instrumentation /c +``` + +This program is used to generate the classes that we previously created manually. The classes are generated automatically based on the `Catalog.xsd` schema. We should get the result in the file created manually previously. As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Catalog class][Catalog.cs] is generated. A consequence of generating a new program text is that all previous modifications are overwritten - a new text is generated without caring about what was there before. Hence, it is time to recall our considerations regarding partial definitions. This is an example where we could confirm that this concept is necessary when dealing with auto-generated code because it creates new content ignoring any modifications made to this file. That's why the following message at the top of the generated file warns not to change this file. @@ -176,19 +187,33 @@ As the result of executing the mentioned above script [GoCS.cmd][GoCS] the [Cata In conclusion, thanks to the application of the XML schema, XML documents can be verified against additional syntax rules, and appropriate definitions in various languages may be generated, ensuring data conversion between various technologies and different programming platforms. -## 4. Attributes +## Attributes + +### Introduction + +Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. + +Apart from the definition of an attribute, it also must be possible to associate attributes with a selected language construct. This association usually is realized as a syntax constraint. For example, an attribute is added as a prefix or a decoration of a target construct. + +So the question is what is an attribute? The general answer is that it is a language construct. A programming language construct refers to a syntactical element or feature within a programming language. The constructs provide the building blocks for implementing algorithms for various problems in software development. + +To avoid meaningless explanations and get straight to the point, further explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to provide a comprehensive explanation of the syntax and semantics of the attribute definition and use. A description of the code snippets is available in this document. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept is well suited to address selected issues related to the serialization/deserialization processes. + +In the selected language any attribute definition is a class derived from the `System.Attribute` class. Hence, the programming language must also provide means to instantiate this class in the context of a selected construct to which additional data has been associated using attributes. By design, the reflection mechanisms must be used to instantiate attributes at run-time. + +Depending on the development environment, attributes are crucial in controlling how objects are serialized and deserialized. They allow to provide instructions for the serialization process. The attributes help customize the serialization process to meet specific requirements. Often dedicated attributes are added to the serialization frameworks to allow the addition of expected by the specific implementation control information. Using this framework, the exposed attributes may be associated with custom definitions. -### 4.1. Profiling Development Environment +### Profiling Development Environment Let's start by creating a very simple [AttributedClass][AttributedClass] example used as a starting point for the discussion on attributes. It has only one method but its functionality is not important in the context of the discussion. The method creates an object and returns it. Imagine, that after some time, we conclude that this method is not perfectly correct anymore and we want to avoid referencing it. We know it is used in many places in the program, so to preserve backward compatibility we cannot simply remove it from the program text to avoid triggering a bunch of errors. Hence, we must keep in place this definition, but we should associate additional information with code in a declarative way. This additional information should prevent it from being used in the program any further. This way we try to fix an issue by preventing referencing of inadequate code instead of replacing it. In other words, there will be no further references to it in new programs. We may use the `Obsolete` attribute for this purpose. To observe this attribute and the effects it causes, let's open a test window and add a test method. In the test method, we simply call the method that we previously marked with the `Obsolete` attribute and we see that the compiler now reports a warning. It is also available in the error list. Therefore, this is a clear signal that we should not use this method because it is no longer valid. -This warning should make us use some other alternative solutions. Of course, we could use a regular comment instead. Unfortunately, this will cause us to lose the warning to avoid using this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for **communicating with the reader** of the program text - after all, any program is a text. On the other hand, attributes are a concept for **communicating with the compiler**. And as we will see next, not only with the compiler. +This warning should make us use some other alternative solutions. Of course, we could use a regular comment instead. Unfortunately, this will cause us to lose the warning to avoid using this method in newly created program fragments. Based on this, we can conclude that a comment is a very good tool for **communicating with the reader** of the program text - after all, any program is a text. On the other hand, attributes are a concept to implement **communication with the compiler**. And as we will see next, not only with the compiler. The F12 key takes us to the definition and we see that the attribute is a class that is derived from the [Attribute][system.attribute] class. Now we can formulate a key question; whether we can define our attributes, which we may use to associate additional information with code in a declarative way to be used at run-time. -### 4.2. Attribute Definition +### Attribute Definition To create a custom attribute I have created an additional [CustomAttribute][CustomAttribute] class. As before, it inherits from the [System.Attribute][system.attribute] base class. The main goal of it is to provide additional information related to the program content. Therefore, to define it, we need to specify the following things: @@ -213,7 +238,7 @@ Keeping in mind that the newly created attribute is a class, let's try to use it From this example, we see that it can also be associated with actual parameters placed between round brackets. In other words, it looks like a method call, doesn't it? Moreover, because the name is the same as the class name it looks like a constructor call. Unfortunately, the detailed discussion of these linguistic constructs syntax is beyond the scope of the article. To possibly fill in a gap in this respect, I recommend the C# language user manual. To make the discursion generic, from now on, we will only focus on the semantics, i.e. on the meaning, of these entries. -### 4.3. Attribute Use Based Directly on Type Definition +### Attribute Use Based Directly on Type Definition So let's add a test method [AttributedClassTypeTest][AttributedClassTypeTest] in a test class, in which the code will refer to [AttributedClass][AttributedClass] that has been associated with an attribute. To refer to the type the [typeof][typeof] keyword is applied. As a result of using [typeof][typeof] an object of the [Type][system.type] type is instantiated for the selected type. An object created this way contains details of the source type definition. And here we encounter reflection for the first time. Reflection, which means that we can create objects in the program that represent selected linguistic constructs. In this case, `_objectType` is a variable of the [Type][system.type] type that will contain a reference to the object representing the [AttributedClass][AttributedClass] class definition. Notice that to avoid code cloning the main test functionality is gathered in the [GoTest][GoTest] method. Then, from this object, we can read all attributes related to the selected type using the `GetCustomAttributes` instance method. Additionally, in this case, it is specified that we are only interested in attributes of the selected type. We can then determine that there is returned an array with exactly one element in it. This element is of the [CustomAttribute][CustomAttribute] type, i.e. the type we associated with the class as a class attribute. @@ -223,7 +248,7 @@ So, once again, back to the nutshell of the topic. We can ask what role this lin The [AttributedClass][AttributedClass] class is preceded by the [CustomAttribute][CustomAttribute]. In the unit test, we have the [AttributedClassTypeTest][AttributedClassTypeTest] test method, which proves how to retrieve features of the definitions of this type by creating an instance of the [Type][system.type] type. The main testing stuff has been aggregated in the [GoTest][GoTest] method to reuse this functionality and avoid code cloning. This example shows that we can recover type features that are provided in the form of attributes. Additionally, we can perform operations on attributes (instances of classes derived from the [System.Attribute][system.attribute] base type) that are created as a result of the `GetCustomAttributes` operation. In this approach, the identifier of the type definition is directly used. In this code snippet, the [typeof][typeof] is an operator, which is used to instantiate an object that represents metadata of a type, utilizing the identifier of an attribute type definition. The argument to the [typeof][typeof] operator must be the name of a type definition. -### 4.4. Attribute Use Based Indirectly on Type Instance +### Attribute Use Based Indirectly on Type Instance In the above example [AttributedClassTypeTest][AttributedClassTypeTest] there is a weak point. Unfortunately, talking about serialization/deserialization we have to implement appropriate algorithms avoiding direct reference to the type definitions because we have to assume that the definition is invisible, hence we cannot use the keyword `typeof`. In general, we must assume that the type is defined later, and it doesn't matter if it is defined milliseconds, or years later. Let's try to imagine a scenario in which we have to deal at run-time with objects whose types we do not know. @@ -237,50 +262,31 @@ To show how to operate on objects without referring directly to their type defin How to recover the features of a type referring directly to this type we already know. This can be done by creating a [Type][system.type] instance for the selected type definition using the [typeof][typeof] keyword and an identifier of this definition. In the case of an object for which the type is not known for some reason, the `GetType` instance method inherited from the [Object][Object] type comes in handy. Let me remind you that this operation is inherited from the [Object][Object] base class. It is the ultimate base class of all .NET classes; it is the root of the type hierarchy. So in our case, reflection starts when an instance of [Type][system.type] is created using the `GetType` method. It should be emphasized here that based on this example, we can conclude that reflection is related even to the [Object][Object] base type. -### 4.5. Summary +### Summary To make a summary of the discussion above, regardless of whether we have a type definition visible or we need to bother with recovering the type description from an instance instead, the common point in the process of further processing and converting the state of objects to bitstreams form and vice versa is to create an instance of the [System.Type][system.type] abstract type, which holds a detailed description of the type in concern. Because it is abstract we cannot create this instance directly and have to use the [typeof][typeof] keyword or employ the `GetType` instance method. Going right to the point, since in both cases we can reach a common point, we can have the same test method [GoTest][GoTest] to avoid text cloning. -## 5. Objects Serialization +## Reflection -### 5.1. Introduction +### Preface -To implement serialization/deserialization there is one more issue to discuss, namely how to manage the state of an object, i.e. reading and writing values to its selected members without directly referring to its type. The main problem is that if the concrete type is not visible we do have access to its members. We will analyze two approaches to implement this algorithm: +Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We can only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. -- **self controlled** - The type exposes functionality that enables reading from and assigning to properties constituting the state -- **attributes and reflection** - metadata added by attributes to select state contributors and reflection that enables reading from and assigning to properties constituting the state +So, our task is to answer the question of how to make it autonomous and automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. It means the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. against custom types that the user will define according to requirements of the application in concern. The only thing we can rely on and reuse is the built-in types of a selected programming language because they are immutable. -### 5.2. Self-controlled +If we need to deal with custom types, which we do not know in advance typically the following solutions may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. -To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to properties defined as a member of a type that is a candidate to be serialized. +Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method. However, it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore cannot be recognized as an autonomous solution. More in this respect you can get by checking out appropriate examples described in this document. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. -The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression executed against values stored locally. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to preserve it in the bitstream. The constructor of this class is responsible for recovering the initial values (state) of this class when the object is created. +The language we have selected is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. -To transform an instance of this class (to serialize it), first, an attribute has to be associated with it that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. The question is how to do it. +We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires the installation of appropriate types contributing to the graph and populating them with recovered values obtained during deserialization from the bitstream. -The first approach to selecting values contributing to the object state is to have built-in functionality in the target type allowing the selection of appropriate values. It means moving the responsibility of state selection to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. +The state of an object is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects by instantiating types. If the types are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object against its type. This also applies to those value holders that store information about relationships between objects, i.e. references. -In this test class, we create an object of the target class that is to be serialized. In the next step, we must have a library class that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. +### Example -After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to manually examine its content. - -But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and it implements many operations to avoid cloning code and implementing the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and, instead, use embedded functionality allowing to read values that contribute to the object state. Thanks to implementing `ISerializable`, we can retrieve them from this object using the `GetObjectData` operation. - -Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical programming means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. - -It is worth emphasizing that in our example we only write `double` values and it is a reason that only the `WriteDouble` method has been implemented. It creates an instance of the `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. - -To implement deserialization we must create an instance of the type and populate value holders to initialize the object state. To implement this functionality the dedicated [SelfControlSerialization][SelfControlSerializationConstructor] constructor must be provided. - -The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the `ISerializable` interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. - -```csharp -public interface ISerializable -``` - -### 5.3. Attributes and Reflection - -To prepare this example, let's use a previously defined class [Siyova16][Siyova16] that has a random name and several properties defined. All the members names are also random. The main goal of using a random definition is to explain how to deal with invisible types. +To prepare this example, let's use the [Siyova16][Siyova16] class that has a random name and several properties defined. All the members names are also random. The main goal of using a random definition is to explain how to deal with invisible types. In the test project, the `ReflectionUnitTest` test class includes the [AttachedPropertyTest][AttachedPropertyTest] test method, which contains a program fragment showing how to use such a mechanism for managing a property value of an object without having to refer to its type definition. However, it should be emphasized that to implement this functionality we need to know only the name of the property and its type. This requirement must be fulfilled because the language is strongly typed. The [AttachedProperty\][AttachedProperty] class, which is the implementation holder of the reading and writing operations, is implemented in a separate library project. So obviously the library class won't be able to refer to this type because it doesn't know it - it is invisible for many reasons. We will analyze this class based on the example of the [AttachedProperty\][AttachedProperty] class. The example class [Siyova16][Siyova16] serves as a simulation of any type. @@ -288,19 +294,7 @@ In the [AttachedPropertyTest][AttachedPropertyTest] method I need to create a ta The functionality enabling the possibility to get access to a selected property of a target class has been implemented as a generic library class named [AttachedProperty\][AttachedProperty]. To get more about the generic type concept check out the course or section titled [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] . The library class uses a simple constructor which takes two parameters that are responsible for initializing the data members of the new object. The first parameter is used to pass references to the target object that is to be wrapped by this class. The second argument is used to pass the name of the property that is to be managed using an instance of this class. The first step of the constructor is to save the reference to the target object in the local variable. This reference will be used later. It is worth stressing that this way we cannot refer to the type of the target object. Because the target type of the object in concern is invisible reflection is engaged and the `GetType` method is used to recover the required features of the target object. The recovered description of the target object type is conveyed by a new instance of the [Type][system.type] type. Thanks to this object, in the next step we can obtain information about the property we want to write and read. This description is saved in the next local variable. The last step will be to create an intermediary property that, thanks to the previously obtained information about the target property, will allow transferring values to/from this property. -### 5.4. Reflection-base Object State - -Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. - -The `ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation` folder contains classes that represent XML schema and are used by the program as an object model of the working data. - -Thanks to presented example we showed how attributed programming and reflection can be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. - -As an example of reflection based data values access is the [Catalog][Catalog] class, which is to contain an array of CD descriptions. So here we have property, which is an array containing CD descriptions complaint with the `CatalogCD` class defined in the same file. - -Let me stress again that we have two issues that we need to resolve. The first one is which of these properties should be included in the resulting stream. The second one is how we can read the values for these selected properties without directly referencing the type definition. Additionally, in general, they don't have to be properties. - -## 7. See Also +## See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] @@ -330,23 +324,16 @@ Let me stress again that we have two issues that we need to resolve. The first o [CustomAttributeTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 [GoTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 -[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 - -[CustomFormatter]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 -[Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter -[SelfControlSerialization]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 [Catalog]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 [Catalog.cs]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 [ReadWRiteTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 [IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 -[XmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 [GoCS]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 [catalogexamplexml]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 [Object]: https://learn.microsoft.com/dotnet/api/system.object -[SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 [FileStreamUnitTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs#L19-L33 [Open]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L24-L29 diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index 4766d2ea..89f4814f 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -2,119 +2,121 @@ ## Table of Content -- [1. Attributes](#1-attributes) -- [2. Reflection](#2-reflection) -- [3. Access to Object State Values](#3-access-to-object-state-values) - - [3.1. Introduction](#31-introduction) - - [3.2. Self Controlled](#32-self-controlled) - - [3.3. Attributes and Reflection](#33-attributes-and-reflection) -- [4. Graph of Objects Serialization](#4-graph-of-objects-serialization) -- [5. Conclusion](#5-conclusion) -- [6. To Be Merged](#6-to-be-merged) - - [7. Reflection-Based Serialization Example](#7-reflection-based-serialization-example) - - [8. SerializationUnitTest](#8-serializationunittest) +- [1. Introduction](#1-introduction) + - [1.1. Self Controlled](#11-self-controlled) + - [1.2. Attributes and Reflection](#12-attributes-and-reflection) + - [1.3. Graph of Objects Serialization](#13-graph-of-objects-serialization) +- [2. Self-controlled Serialization Example](#2-self-controlled-serialization-example) +- [3. Reflection-Based Serialization Example](#3-reflection-based-serialization-example) + - [3.1. Reflection](#31-reflection) + - [3.2. Attributes](#32-attributes) + - [3.3. Graph of Objects](#33-graph-of-objects) -## 1. Attributes +## 1. Introduction -Attribute or annotation is a concept used in various programming languages. It is used to add metadata, comments, and supplementary information to program text. It helps enhance code readability, and document functionality and provides details for tools or compilers. Many languages may implement attributes in their own way, but the fundamental idea of associating extra information with code entities is common across many programming languages - mainly the differences refer to syntax, hence the meaning expressed as the semantics rules are almost the same. +From the previous considerations, we know that serialization/deserialization is a data wrapped by an object transformation process from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. -Apart from the definition of an attribute, it also must be possible to associate attributes with a selected language construct. This association usually is realized as a syntax constraint. For example, an attribute is added as a prefix or a decoration of a target construct. +Let me stress again that we have two issues that we need to resolve. The first one is which of the value-holder members should be included in the resulting stream. The second one is how we can read the values for these selected value-holder members without directly referencing the type definition. -So the question is what is an attribute? The general answer is that it is a language construct. A programming language construct refers to a syntactical element or feature within a programming language. The constructs provide the building blocks for implementing algorithms for various problems in software development. +Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a bitstream and recover it from a bitstream to populate instantiated types. In other words, reading and writing values to its selected members without directly referring to its type. The main problem is that if the concrete type definition is not visible we don't have access to its members. We will analyze typical two approaches to implement this algorithm: -To avoid meaningless explanations and get straight to the point, further explanations must be investigated in the context of program snippets prepared using the selected programming language that will be used to provide a comprehensive explanation of the syntax and semantics of the attribute definition and use. A description of the code snippets is available in the document [Implementation Examples][ie]. The examples show that attributes have broader applicability than just serialization and deserialization. However, the attribute concept is well suited to address selected issues related to the serialization/deserialization processes. +- **self controlled** - The type exposes functionality that enables reading from and assigning to properties constituting the state +- **attributes and reflection** - metadata added by attributes to select state contributors and reflection that enables reading from and assigning to properties constituting the state -In the selected language any attribute definition is a class derived from the `System.Attribute` class. Hence, the programming language must also provide means to instantiate this class in the context of a selected construct to which additional data has been associated using attributes. By design, the reflection mechanisms must be used to instantiate attributes at run-time. +### 1.1. Self Controlled -Depending on the development environment, attributes are crucial in controlling how objects are serialized and deserialized. They allow to provide instructions for the serialization process. The attributes help customize the serialization process to meet specific requirements. Often dedicated attributes are added to the serialization frameworks to allow the addition of expected by the specific implementation control information. Using this framework, the exposed attributes may be associated with custom definitions. +The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is presented later in this section. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. -## 2. Reflection +The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. -Reflection is the next very useful approach that may be employed to support serialization and deserialization implementation. We can only touch on the subject of reflection, i.e. we just enter a world in which definitions in the source program become data and are processed like process data. In other words, reflection in software engineering refers to the ability of a program to examine and modify its structure and behavior during runtime. Due to the complexity of this topic, we have to limit the discussion to only selected topics useful in the context of serialization. Hence, don't expect deep knowledge related to this topic. Reflection is commonly used for tasks like recovery metadata about types, classes instantiation, method invocation, and recovering data wrapped by objects at run-time. +The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. -So, our task is to answer the question of how to make it autonomous and automate this serialization and deserialization process. Because we have to do it in a way that allows us to avoid repetitive work. It means the mentioned functionality must be implemented in advance when we do not know the types yet. We want to offer a generic library that will be used against various types, i.e. against custom types that the user will define according to requirements of the application in concern. The only thing we can rely on and reuse is the built-in types of a selected programming language because they are immutable. +The main benefit of this technique is the lack of necessity to additionally determine the state of the object because this operation is postponed to the serialization mechanism itself. This mechanism must be implemented manually by the author of the type so it could be assumed that only vital values are transferred to the bitstream format and recovered from the bitstream. -If we need to deal with custom types, which we do not know in advance typically the following solutions may be applied. First is dynamic programming when types are created during program execution and will reflect the needs related to the data processing algorithm at run-time. The next one is the independent conversion of member values based on built-in custom functionality in new types defined at compile time. Finally, we may consider applying reflection, where type definitions created at compile time become data for the program that can be the subject of recovery metadata and reading/assigning objects state values at run-time. +Using self-controlled determination of a set of values contributing to the object state means splitting the functionality between the type to be subject for serialization/deserialization and library functionality, which is responsible for saving the value of the selected members independently in a bitstream. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a kind of contract between both parties responsible for implementing the serialization/deserialization functionality. The main problem is that the type of concern must be prepared against the contract defined by the implemented interface. -Dynamic programming is not promising and should be avoided because it is an error-prone run-time approach. Independent conversion is a design-time approach and must be considered as a serialization/deserialization method. However, it still needs custom serialization/deserialization functionality to be embedded in new type definitions, and therefore cannot be recognized as an autonomous solution. More in this respect you can get by checking out appropriate examples described in the document [Implementation Examples][ie]. Reflection allows to write the program so that the type features are recoverable and become data for the program. Reflection allows for avoiding custom implementation of the serialization and deserialization functionality. Hence, it will be described in more detail. +Examples illustrating serialization using self-controlled access to values contributing to an object state are described later in the section [Self-controlled Serialization](./READMESerialization.md#2-self-controlled-serialization-example) -The language we have selected is based on the concept of types. It is strongly typed. However, it is not the only one that uses type compatibility to check the correctness of the program at design time. However, the transition from the object-oriented world to the streaming world requires generic actions, consisting of creating generalized mechanisms for operating on data without referring to concrete type definitions. I mean the serialization/deserialization functionality must be generic without referring to type definitions, because the types may be unknown at this time. +### 1.2. Attributes and Reflection -We want the data transformation process between object graphs and bitstreams process to be mutually unambiguous, repeatable, and autonomous. Data transformation from graph of objects form to stream form requires reading the state of these objects and the relationships between them. The reverse transformation, i.e. converting a bitstream into an object graph, requires the installation of appropriate types contributing to the graph and populating them with recovered values obtained during deserialization from the bitstream. +Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. It address the error prone self-controlled data access type responsibility. -The state of an object is the minimum set of values that is necessary to recreate an equivalent object. In the case of conversion from a stream to an object form, first of all, we must be able to create objects by instantiating types. If the types are instantiated, the values that have been saved as the object's state must be assigned to the internal members that are part of this object against its type. This also applies to those value holders that store information about relationships between objects, i.e. references. +The rule that in the output stream all the values must be saved, which can be retrieved from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't contribute to the object state. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the an attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data functionality are side by side in the same place, by using the same property. -## 3. Access to Object State Values +Summarizing, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. -### 3.1. Introduction +Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of the object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. The main outcome of this approach is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. -From the previous considerations, we know that serialization/deserialization is a data transformation process from/to an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. +Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. -Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a stream and recover it from a stream to populate instantiated types. To accomplish this we can apply the following approaches: +Examples illustrating serialization using reflection and attributed programming are described later in the section .... -- **Self Controlled** values access mechanism -- **Attributes + reflection** values access mechanism +### 1.3. Graph of Objects Serialization -### 3.2. Self Controlled +Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. -The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is described in the document [Implementation Examples][ie]. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. +Generally, we can distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. -The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. +If a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model. Assuming unidirectional interconnections between the objects, we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. -The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. +Unfortunately, often happens that we must deal with more demanding structures, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. -### 3.3. Attributes and Reflection +![Fig. 1](../.Media/Part3-N80-10-Diagram.png) -Using self-controlled management of the object state means splitting the functionality between the type to be subject to serialization/deserialization and library functionality, which serializes/deserializes the value of members independently. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a contract between both parties responsible for implementing commonly the serialization/deserialization functionality. The main problem is that the type to be subject to serialization/deserialization must be prepared against the contract defined by the implemented interface. +Assuming that instances of all classes are created (fig. below), the question arises which of the objects should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term: equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. -Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. +![Fig. 2](../.Media/Part3-N80-20-Rekurencja.png) -The rule that in the output stream all the values must be saved, which can read from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't constitute the object state. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the indicated attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data functionality are side by side in the same place, by using the same property. +Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. -Summarizing, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. +In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. -Examples illustrating serialization using reflection and attributed programming are described in the section [Implementation Examples][ie]. +## 2. Self-controlled Serialization Example -## 4. Graph of Objects Serialization +To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to properties defined as a member of a type that is a candidate to be serialized. -Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. +The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression executed against values stored locally. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to preserve it in the bitstream. The constructor of this class is responsible for recovering the initial values (state) of this class when the object is created. -Generally, we can distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. +To transform an instance of this class (to serialize it), first, an attribute has to be associated with it that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. The question is how to do it. -If a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model. Assuming unidirectional interconnections between the objects, we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. +The first approach to selecting values contributing to the object state is to have built-in functionality in the target type allowing the selection of appropriate values. It means moving the responsibility of state selection to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. -Unfortunately, often happens that we must deal with more demanding structures, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. +In this test class, we create an object of the target class that is to be serialized. In the next step, we must have a library class that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. -![Fig. 1](../.Media/Part3-N80-10-Diagram.png) +After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to manually examine its content. -Assuming that instances of all classes are created (fig. below), the question arises which of the objects should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term: equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. +But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and it implements many operations to avoid cloning code and implementing the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and, instead, use embedded functionality allowing to read values that contribute to the object state. Thanks to implementing `ISerializable`, we can retrieve them from this object using the `GetObjectData` operation. -![Fig. 2](../.Media/Part3-N80-20-Rekurencja.png) +Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical programming means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. -Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. +It is worth emphasizing that in our example we only write `double` values and it is a reason that only the `WriteDouble` method has been implemented. It creates an instance of the `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. -In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. +To implement deserialization we must create an instance of the type and populate value holders to initialize the object state. To implement this functionality the dedicated [SelfControlSerialization][SelfControlSerializationConstructor] constructor must be provided. -## 5. Conclusion +The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the `ISerializable` interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. -So much theory. It's time to move on to practical acquaintance with selected reflection mechanisms. To get more based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected property. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. +```csharp +public interface ISerializable +``` -## 6. To Be Merged +## 3. Reflection-Based Serialization Example -The serialized classes were defined in the test class. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. +### 3.1. Reflection -As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. +It's time to move on to practical acquaintance with selected reflection mechanisms. To get more about reflection based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created as a result of engaging the keyword ot invoking the mentioned method. The examples discussed show how to use this description to read and write the values of a selected member of a type. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. -The main outcome of the example is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. +This example explains how to serialize using reflection and attributed programming. Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. -Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. +The `ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation` folder contains classes that represent XML schema and are used by the program as an object model of the working data. As an example of reflection based data values access is the [Catalog][Catalog] class, which is to contain an array of CD descriptions. So here we have property, which is an array containing CD descriptions complaint with the [CatalogCD][CatalogCD] class defined in the same file. +The serialized classes were defined in the test project. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. +As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. -### 7. Reflection-Based Serialization Example +The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects [Catalog][Catalog] class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that populates the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. -This example explains how to serialize using reflection and attributed programming. The `Catalog` class is used for this purpose. The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects `Catalog` class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that fills the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. +Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. -The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this instruction: +The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will not analyze it in detail but the only important thing is that we use the `XMLSerializer` library to perform the serialization operation. The serialization is implemented in this statement: ``` csharp _xmlSerializer.Serialize(_writer, dataObject); @@ -130,15 +132,31 @@ For testing purposes, an operation is performed to read the same file and create We can now check whether the result is consistent with our expectation, i.e. whether the original graph of objects and the equivalent graph of objects have appropriate values that are part of the object's state. -There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. +There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. + +Thanks to presented example we may learn how attributed programming and reflection can be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. + +### 3.2. Attributes + +In the presented example there is need to point out members contributing to the object state. In the [Catalog][CatalogAttributes] class attributes are only used to control behavior of the serialization process. -### 8. SerializationUnitTest +### 3.3. Graph of Objects -Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the `Catalog` class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. +Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. [ie]: .\README.md [system.type]: https://learn.microsoft.com/dotnet/api/system.type [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 -[WriteXmlFile]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 -[CatalogCD]: https://github.com/mpostol/TP/blob/19592185e96c273de49c3808b7bc1a3b3106aa2f/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 +[Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter + +[ReadWRiteTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 +[WriteXmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 +[Catalog]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +[CatalogAttributes]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L19-L25 +[CatalogCD]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 +[SelfControlSerialization]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 +[CustomFormatter]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 +[XmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 +[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 +[SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 +P/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index b32bf544..3040c78b 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -1,7 +1,7 @@ -- [1. Introduction](#1-introduction) -- [2. File and Stream Concepts Preface](#2-file-and-stream-concepts-preface) -- [3. Useful Technologies for Bitstreams Employment](#3-useful-technologies-for-bitstreams-employment) - - [3.1. Introduction](#31-introduction) - - [3.2. Data Presentation](#32-data-presentation) - - [3.3. Validation](#33-validation) - - [3.4. Standardization](#34-standardization) - - [3.5. Serialization](#35-serialization) - - [3.6. Cybersecurity](#36-cybersecurity) - - [3.6.1. Introduction](#361-introduction) - - [3.6.2. Hash](#362-hash) - - [3.6.3. Encryption](#363-encryption) - - [3.6.4. Non-repudiation](#364-non-repudiation) -- [4. BitStream Format](#4-bitstream-format) - - [4.1. Domain Specific Language (DSL)](#41-domain-specific-language-dsl) - - [4.2. Extensible Markup Language (XML) Format](#42-extensible-markup-language-xml-format) - - [4.2.1. Introduction](#421-introduction) - - [4.2.2. Visualization](#422-visualization) - - [4.2.3. Validation](#423-validation) - - [4.2.4. Standardization](#424-standardization) - - [4.3. JavaScript Object Notation (JSON)](#43-javascript-object-notation-json) - - [4.3.1. Introduction](#431-introduction) - - [4.3.2. Visualization](#432-visualization) - - [4.3.3. Validation](#433-validation) - - [4.3.4. Standardization](#434-standardization) - - [4.4. Yet Another Markup Language (YAML)](#44-yet-another-markup-language-yaml) - - [4.4.1. Introduction](#441-introduction) - - [4.4.2. Visualization](#442-visualization) - - [4.4.3. Validation](#443-validation) -- [5. See Also](#5-see-also) - -## 1. Introduction +- [Introduction](#introduction) +- [File and Stream Concepts Preface](#file-and-stream-concepts-preface) +- [Useful Concepts for Bitstreams Deployment](#useful-concepts-for-bitstreams-deployment) + - [Introduction](#introduction-1) + - [Presentation](#presentation) + - [Validation](#validation) + - [Standardization](#standardization) + - [Serialization](#serialization) + - [Cybersecurity](#cybersecurity) + - [Introduction](#introduction-2) + - [Hash](#hash) + - [Encryption](#encryption) + - [Non-repudiation](#non-repudiation) +- [BitStream Format](#bitstream-format) + - [Domain Specific Language (DSL)](#domain-specific-language-dsl) + - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) + - [Introduction](#introduction-3) + - [Visualization](#visualization) + - [Validation](#validation-1) + - [Standardization](#standardization-1) + - [JavaScript Object Notation (JSON)](#javascript-object-notation-json) + - [Introduction](#introduction-4) + - [Visualization](#visualization-1) + - [Validation](#validation-2) + - [Standardization](#standardization-2) + - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) + - [Introduction](#introduction-5) + - [Visualization](#visualization-2) + - [Validation](#validation-3) +- [See Also](#see-also) + +## Introduction This folder `ExDataManagement\DataStreams` contains examples related to information representation as a bitstream and is devoted to discussing selected programming issues related to their management. -## 2. File and Stream Concepts Preface +## File and Stream Concepts Preface If we write a program to automate information processing, we inevitably have to operate on data representing this process. Generally, we can distinguish operations related to reading input data, permanently preserving intermediate data, transferring data between individual applications, and saving the final data somewhere after completing the entire processing process. All these requirements can be accomplished using the concept of file. Even sending data between applications can be done using a file server, distributed file system, Google Drive, One Drive, and Pendrive to name only the most popular ones. -This is where the term file system came into play. Without going into details about the architecture of the computer and the operating system, we can enigmatically state that the file system is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that the file clearly distinguishes it from all other files. In this role it is Uniform Resource Identifier(URI), is a tekst that identifies the file. The second one indicates the location where the file can be found by the file system engine. In this role it is Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. +This is where the term file system came into play. Without going into details about the architecture of the computer and the operating system, we can enigmatically state that the file system is a resource available in virtually every modern computer. For us, its most important feature is the ability to manage files. First of all, the file is metadata, i.e. data describing data. So here we may have the first indication that we are talking about data that we are describing. One such description is an identifier that plays two roles. One is that it clearly distinguishes it from all other files. In this role, it could be recognized as a Uniform Resource Identifier(URI) - the text that is a unique identifier of a file among others. The second one indicates the location, namely where the file may be found by the file system engine. In this role, it is a Uniform Resource Locator (URL). We also have other metadata such as date of creation, author, length, and many others. -An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important file part but the most important thing is the content it includes, which is data representing information to take part in processing. +An important feature of a file concept is that it contains content in addition to metadata. Metadata is, of course, a very important component of any file but the most important thing is the content it includes, which is data representing information to take part in processing. Hopefully, everything we've talked about so far seems quite obvious, but since some file features are fundamental for further discussion, let's look at them in detail. Let's start with the fact that typically we utilize object-oriented programming. This means that at design-time we have to deal with reference types and at runtime, we must deal with objects located in a computer's working memory (RAM). Let me remind you that the RAM abbreviation stands for Random Access Memory. Here, random means that each word in memory has an address, i.e. a unique identifier, and this word can be independently read or written there. Let me stress we are talking about freedom but not probability. It means that again the RAM address plays the role of URL. Therefore, object data can be organized into structures and linked by references. -On the other hand, we have the streaming world where the data is organized in the form of bitstreams, where each self-contained element of data has information about the next element but not a correlated element. +On the other hand, we have the streaming world where the data is organized in the form of bitstreams, where each bit of data has only information about the next one. -## 3. Useful Technologies for Bitstreams Employment +## Useful Concepts for Bitstreams Deployment -### 3.1. Introduction +### Introduction -To use computers for automation of information processing we have to manage bitstreams as the information representation. Bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure its accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill this functionality the following set of technologies could make a real relief, namely presentation, validation, standardization, and serialization. +To use computers for automation of information processing we have to recognize bitstreams as the information representation. By design, bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure its accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill this functionality the following set of concepts could make a real relief. It includes but is not limited to presentation, validation, standardization, and serialization operations. -### 3.2. Data Presentation +### Presentation -Data presentation is implemented by various ways of conveying information, including textual and tabular formats. Hence, first of all, we need to deal with data presentation, so as to enable the use of bitstreams also by a human computer user. In this context we must take into account the following terms: natural language, ergonomics, and graphical user interface. +Bitstreams presentation is implemented by various ways of conveying information, including textual and tabular formats. Hence, first of all, we need to deal with data presentation, so as to enable the use of bitstreams also by a human computer user. In this context we must take into account the following terms: natural language, ergonomics, and graphical user interface. -A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans, a person uses. The data, even when reading a newspaper, is always graphical data. Let me remind you that a letter is also a picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? +A typical example that we can cite here is using the Internet. Using a web browser, a server-side application uses objects and then serializes the data that the user needs, sends it over the network, and then the browser displays it on the screen. And here it is important, that the browser always displays data in graphical form. This applies to all kinds of data used by humans. Data, even when reading a newspaper, is always formatted as a graphical presentation. Let me remind you that any character is also a small picture. This is one feature of data that is prepared for this. so that man can use them. The second feature is that this data must be written in a natural language that humans know. The concept of natural language is very broad. For example, XML text is said to be human-readable. But is this a piece of natural language? -From the above we can derive that the bitstream should be formatted in a way to resemble a natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. +From the above, we can derive that the bitstream should be formatted to resemble a natural language. Of course, we have no measure here and therefore it is difficult to say whether something is close enough to natural language to be comprehensible. -### 3.3. Validation +### Validation Applications save working data into bitstreams (for example content of files) to keep state information, provide processing outcomes, or both. Applications need robust storage, i.e. correctness of the stored data has to be validated every time an application reads it back from a bitstream. It must be carefully observed if the bitstreams are also modified by other applications or directly by users, because data corruption may occur. -If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of a stream of signs, i.e. validation if the selected syntax rules are met. The second one is the possibility of assigning information (meaning) to these correct sequences and therefore assigning meaning to bitstream. For humans to understand the stream, it will be accomplished by defining semantics rules, i.e. rules that will allow us to associate meaning with bitstream. The issue of ergonomics is also important in how easy it is to absorb information represented by the bitstream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to determine how good our solution is. +If we are talking about exchanging data between different applications or between an application and a human, the issue of data correctness arises. This issue should be considered on two independent levels. The first one is the correctness of a stream of signs, i.e. validation if the selected syntax rules are met. The second one is the possibility of assigning information (meaning) to these correct sequences and therefore assigning meaning to a bitstream. For humans to understand the stream, it will be accomplished by defining semantics rules, i.e. rules that will allow us to associate meaning with bitstream. The issue of ergonomics is also important in how easy it is to absorb information represented by the bitstream. Of course, the closer we are to natural language, the easier it will be, but again in this matter, we do not have measures that will allow us to determine how good our solution is. -To better understand above mentioned topics, let's look at them in the context of code examples explained in the section [XML-based Validation][xml-based-validation]. In this section, XML examples are only subject to more detailed examination but by design, it has no impact on the generality of the discussion. +To better understand the above mentioned topics, let's look at them in the context of code examples explained in the section [XML-based Validation][xml-based-validation]. In this section, XML examples are only subject to more detailed examination but by design, it has no impact on the generality of the discussion. -### 3.4. Standardization +### Standardization -When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Well, data produced by one instance of a program can also be used by the same instance of the program. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. +When we talk about the syntax and semantics of a stream, the first thing to consider is the scope of data use. Data produced by one program instance can also be used by the same program instance. In such a case, if the process runs autonomously and is symmetric from a serialization and deserialization point of view, we should not expect any further problems. If we are talking about interoperability between different applications, we must consider a situation in which these applications have been written using different programming languages. In this case, the problem arises of how to create types in other languages that will represent the same information. In the context of a text document, a kind of schema may be used. -The schema in this context refers to a bitstream structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying, schema allows the definition of additional syntax rules in a domain-specific language. Schemas help ensure consistency in the representation of information within the text document. It means that schema definition could also be a foundation of semantics rules used to assign meaning to the document text. As a result, we could recognize the schema as a good idea to validate text documents and check whether incoming text is a document we expect. Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. +The schema in this context refers to a bitstream structure or blueprint that defines the organization and format of the document. It outlines the arrangement of elements, their relationships, and any rules or constraints that govern the content of documents. Simplifying, schema allows the definition of additional syntax rules in a domain-specific language. Schemas help ensure consistency in the representation of information within the text document. It means schema definition could also be a foundation of semantics rules that assign meaning to the document text. As a result, we could recognize the schema as a good idea to validate text documents and check whether incoming text is a document we expect. Instead of using a schema to validate text-based bitstreams, we may use an equivalent set of classes. Because the data may be used by different instances of a program, we also have to take into consideration that the applications may be in different versions or written using different languages. What is worse, the data representation also must be subject to versioning. In such a case, there is a problem of data compatibility between independent instances of the program. So the question arises whether the data serialized by one version of the program is used by another version of the program run as a different instance. -Another very popular applicability domain of streams may be the use of them to implement interoperability between various programs that are created using different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into consideration that classes (types) that were created in one technology cannot necessarily be directly used in another technology. In this case, we are already encountering the issue of semantics, so we must take into account the fact that in another technology the same information will be represented differently. +Another very popular applicability domain of streams may be the use of them to implement interoperability between instances of various programs that are created using different technologies and implemented on different platforms. Then there is also the issue of technological compatibility. Also in this case, it must be taken into consideration that classes (types) that were created in one technology cannot necessarily be directly used in another technology. In this case, we must take into account that in another technology the same information will be represented differently. If schema definition is expressed in a widely accepted format it should be possible to generate types in selected programming language based on this schema. Of course, it is a chicken and egg problem namely, should we first create types in the selected programming language, or should we create these types in the schema and then create classes based on the schema definition? But let's try to see how this can be achieved using an example. -### 3.5. Serialization +### Serialization We need bitstreams to be handled using files to make sure that the data can be persisted. Let's recall the most important applications, such as entering input data or storing output data using file systems. We also use various types of streaming devices to archive data, i.e. to save data forever. The temporary and intermediate data repository is another example. Data transfer between applications is another use case. It requires that data must be transferable. For example interoperability of a web server and a web browser. There is a virtual wire between them. The virtual wire is not an abstract interconnection but means that only bitstream can be transferred between them. There are many more examples but let's limit the discussion to the mentioned only because they are enough to justify the importance of this topic. @@ -108,7 +108,7 @@ In the already mentioned use cases, data must be in the form of bitstream. Now w The first problem is related to the inevitable necessity of dealing with two concepts, namely object data with the data formatted as bitstreams. The transition process from the objects to the stream is called the serialization. Deserialization is the reverse process, which involves replacing the bitstream with interconnected objects located in the working memory of a computer. Hence, in the context of serialization, to save working data in a file we need a generic operation that could automate this transition process regardless of the types we used to create the graph of objects wrapping working data. There must be also a reverse operation creating objects from a file content - deserialization. To guarantee consistency, this operation has to verify the file content against the types used to instantiate objects. -Again, in the transition between the world of objects and the world of bitstreams, we need serialization, which is responsible for the transition of the state of a graph of objects to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like this operation to be implemented as generic, i.e. we would not have to program this operation every time, but only parameterize it. +Again, in the transition between the world of objects and the world of bitstreams, we need serialization, which is responsible for the transition of the state of a graph of objects to a bitstream. And deserialization, which is responsible for the reverse process, i.e. for transferring a bitstream into a graph of interconnected objects. We would like these operations to be implemented as generic, i.e. we would not have to program these operations every time, but only parameterize it. Before we move to the next step, it is worth recognizing what we need to implement this functionality. Here, from the world of objects point of view, the list of requirements includes: @@ -117,21 +117,21 @@ Before we move to the next step, it is worth recognizing what we need to impleme Next, we need to implement an algorithm that will describe in detail this data transformation, which has to be mutually unambiguous. Here, the mutual unambiguity of this process does not mean that each time we perform serialization we will obtain an identical bitstream. The same we should state for deserialization. We will get back to this issue shortly. -So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be mutually unambiguous operation. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no metrics of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. +So the first problem we have is how to implement serialization and deserialization to make the transition between the object world and the streaming world possible. The serialization and deserialization process must be mutually unambiguous operation. Moreover, it is not a simple process. Well, someone may say that this is a relative matter because we have no firm metrics of simplicity in this case. However cloning serialization and deserialization code snippets each time serialization is needed will consume and waste time, so it may be worth implementing this process as a generic library, without the need to create dedicated software each time. So the next problem we can define here is the possibility of transition between the streaming world and the object world using the library concept. If we talk about repeatability by applying a library concept implementing serialization and deserialization functionalities, we need to offer a generic implementation. Namely, we must be able to define this process in advance, without prior knowledge of what will be serialized. Generic implementation of the serialization and deserialization functionality means that we have to implement it in advance and offer it as ready-to-use libraries. Today on the market, we have many libraries that permit this process to be carried out automatically. So it is justified to ask the following question why do we need to learn about it? Why go into detail? Well, my point is that if someone wants to use a washing machine, let me refer to this example, they do not need to know how the controller, engine, or temperature sensor works. However, if someone wants to assemble a custom washing machine using available parts, knowledge or understanding of how the engine, controller, and temperature sensor work is essential in this case even if the mentioned parts are available. Similarly, we need detailed knowledge about how to manage bitstreams in case we are going to use streaming data, for example, the file system. -In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contains data in the form of bitstreams. Let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a stream of bits. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will learn the answer to this question soon. +In summary, to simultaneously use data as objects and bitstreams, our goal must be to combine two worlds. First, in which the data is in object form. The second world contains data in the form of bitstreams. Let me stress now that in both cases we have the same information but different representations. The data conversion between these worlds is called serialization and deserialization. In the case of serialization, it is a process that involves converting the state of a graph of objects into a bitstream. Deserialization is the reverse process, i.e. converting a bitstream into a graph of objects that must be created in memory. Here the magical statement about the condition of the object appeared; what does object state mean? We will learn the answer to this question soon. From the above, it could be derived that if an equivalent graph of objects can be reconstructed based on a bitstream it can be stated that the bitstream is correct for the purpose it has to serve. This reconstruction must be accomplished in compliance with the syntax, and semantics rules governing the bitstream. Again, this graph does not have to be identical to the original each time. It is enough for us that it is equivalent from the point of view of the information it represents. It could be added that in some cases, let's say in simpler cases, the bitstream identity can be ensured. This means that for a selected graph of objects, each time as a result of serialization we receive an identical bitstream. Then this bitstream can be compared, for example, to check whether the process is the same as before. It must be stressed that equivalence has no metrics measure that can be applied to evaluate equivalence conditions. Due to the above, it is not possible to formally determine whether the resulting bit stream and the source object graph are equivalent. Therefore, equivalence must be decided by the software developer using custom measures, for example, unit tests. From that, we can derive that only the software developer is responsible for ensuring that serialization and deserialization are mutually unambiguous. -Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the format of the target bitstream. So we need to determine how to combine bits into words, words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, a set of valid characters, syntax, and semantics rules are required. For example, it could have an impact on the bitstream features, like the possibility of validating and visualizing content. Two additional notes regarding the target format of the bitstreams are vital for further consideration. +Assuming that the data transformation algorithm has been implemented somehow, there is a need to determine the format of the target bitstream. So we need to determine how to concatenate bits into words, words into correct sequences of words, and how to assign meaning to these sequences of words. Shortly, a set of valid characters, syntax, and semantics rules are required. For example, it could have an impact on the bitstream features, like the possibility of validating and visualizing content using existing tools. Two additional notes regarding the target format of the bitstreams are vital for further consideration. -The list of applications - mentioned previously as potential bitstream consumers - includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and give them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in applications that are created by other vendors. +The list of applications - mentioned previously as potential bitstream consumers - includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and assign to them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in applications that are created by other vendors. -We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of application. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create characters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which encoding is known in advance or discoverable somehow. +✍🏻 We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of application. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create characters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which encoding is known in advance or discoverable somehow. From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. @@ -141,17 +141,15 @@ To implement a serialization/deserialization engine, you need to define a data s > To learn more about the serialization in .NET, visit the document: [Serialization in .NET][STLZTN]. -### 3.6. Cybersecurity +### Cybersecurity -#### 3.6.1. Introduction +#### Introduction -Cybersecurity describes the practice of protecting computer systems, networks, and data from cyber threats. In this section cybersecurity related to bitstreams is considered. +Cybersecurity describes the practice of protecting computer systems, networks, and data from cyber threats. In this section, cybersecurity related to bitstreams is considered. Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. -Now let's talk about securing streams using cryptography. Talking about cryptography in the context of streams may seem a little strange because usually cryptography is discussed in the context of data security and system security in general. Cryptography is a broad concept, but we will focus only on selected, very practical aspects related to the security of bitstreams. +We already know how to create bitstreams. We can also attach coding to them, i.e. the natural language set of characters. The next step is to assign syntax and semantics that allow the streams to be transformed into a coherent document, enabling a computer user to recover information from these documents. If this is not enough, we can also display these documents in graphical form. -We already know how to create bitstreams. We can also attach coding to them, i.e. the natural language set of characters. The next step is to assign syntax and semantics that allow the streams to be transformed into a coherent document and therefore enable recovery of information from these documents by a computer user. If this is not enough, we can also display these documents in graphical form. - -It must be stressed again that this computation infrastructure is always binary. Hence, in all occurrences a bitstream is a stream of bits, so may be sent, archived, and processed by another computer. Well, this is where the problem arises. It is required that this binary document is protected against malicious operations. For example, if this document contains a wire transfer order to our bank, the problem becomes real, material, and meaningful in this context. +It must be stressed again that in all occurrences this computation infrastructure is always binary, and we must consider that it may be sent over a network, archived, and processed by another computer. Hence, it is required that the bitstreams are protected against malicious operations. For example, if a document contains a wire transfer order to our bank, the problem becomes real, material, and meaningful in this context. In the context of the cybersecurity of bitstreams implementation, the following requirements must be encountered: @@ -159,17 +157,17 @@ In the context of the cybersecurity of bitstreams implementation, the following 1. safeguard information from unauthorized access, ensuring confidentiality, 1. confirm authorship, so all users of a bitstream can determine who created it and who is responsible for its content. This requirement we call non-repudiation of the author. -A short description of methods used to protect a bitstream against malicious users may be found in the following chapters. Examples illustrating how to implement them are collected in a separate document [Bitstream Cybersecurity](.\READMECryptography.md). +A short description of methods used to protect a bitstream against malicious users may be found in the following chapters. Examples illustrating how to implement them are collected in a separate document [Bitstream Cybersecurity][READMECryptography]. -#### 3.6.2. Hash +#### Hash -If we are talking about archiving streams or sending streams from one system to another, from one to another computer, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. +If we are talking about archiving streams or transferring streams from one system to another, from one computer to another, the first thing we need to take care of is the integrity of such a stream. This means that from the moment it is produced until it is at its actual destination, where it will be processed, it is not modified. The best way to accomplish this is by using the hash function. Thanks to the hash function, we can secure the integrity of the controlled bitstream, provided that we can transfer the hash function value to the destination in such a way that malicious users cannot modify it. Otherwise, modifying the source stream is not a problem because calculating a new hash function value that takes this modification into account is quite a trivial operation. Bitstream integrity refers to the assurance that the bitstream remains intact during transmission or storage. It ensures that each bit in the data stream retains its original value without corruption or errors. -#### 3.6.3. Encryption +#### Encryption It often happens that only authorized persons should have access to the information represented by a bitstream. To address this requirement, we may use the bidirectional transformation mechanism to replace a source bitstream with another bitstream to which we can no longer attach the encoding, syntax, and semantics rules. As a result, it makes it impossible to associate information with this bitstream. The bitstream is no longer meaningful data. The obtained from the transformation bitstream resembles white noise. However, any person who has the right to access the associated with the source bitstream information; should be able to recover the source bitstream and as a result associate back the encoding, syntax, and semantics rules. As a result, it allows recovering the information represented by the source bitstream. The process is similar to replacing music with noise but granting the possibility to recover music from that notice by the authorized user. Unauthorized users can hear only noise, but authorized users can transform the noise back to the original music. This reversible transformation function we will call encryption. @@ -184,16 +182,16 @@ The second option is to transform a bitstream (for example the file content, has Bitstream encryption encompasses encrypting data at the bit level, which is often used in various scenarios. These scenarios employ encryption techniques to protect data integrity, confidentiality, and privacy against unauthorized access and interception. We can distinguish between symmetric and asymmetric encryption. Symmetric encryption uses the same key for encryption and decryption, while asymmetric encryption uses a pair of keys: a public and a private key. -We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. In the case of symmetric encryption, in which we use identical keys for the encryption and decryption, inter-operating parties have the problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in sharing data. +We have already learned about the hash function to protect bitstream integrity. However, there is still a problem with how to distribute its result so that in different places of the IT system, and different locations in the world this hash value can be used to check the integrity of a bitstream. In the case of symmetric encryption, in which we use identical keys for the encryption and decryption, inter-operating parties have the same problem of distributing these keys among the authorized users who have the right to access the information represented by this stream. There is another problem with the use of symmetric encryption, namely scalability. It consists of the fact that the number of keys that we need to manage for encryption and decryption increases rapidly, that is, it increases with the square of the number of parties that participate in the data sharing. However, the main drawbacks of asymmetric encryption include: 1. **Computational Overhead** - asymmetric encryption algorithms are typically more computationally intensive compared to symmetric encryption, requiring more processing power and time for encryption and decryption operations 1. **Limited Performance for Large Data** - asymmetric encryption is less efficient for encrypting large amounts of data compared to symmetric encryption, making it less suitable for bulk data encryption. -Overall, while asymmetric encryption provides valuable security features such as key distribution and digital signatures, it also introduces complexity and performance limitations that must be carefully considered in design and implementation. +Overall, while asymmetric encryption provides valuable security features such as key distribution and digital signatures, it also introduces complexity and performance limitations that must be carefully considered in design and implementation. A tradeoff is needed to deploy the cryptography. Usually, a temporary key is generated, and before use protected by asymmetric encryption. This way only a symmetric key is protected instead of the target bitstream. -#### 3.6.4. Non-repudiation +#### Non-repudiation When talking about documents such as a wire transfer order, there is no need to provide any special justification that the recipient of such a document will be vitally interested in being able to determine that the document has been issued by an authorized person, for example by the owner of the account for which the order was issued. @@ -203,9 +201,9 @@ To implement a digital signature, the sender uses a private key to create a uniq If the digital signature is valid, it confirms that the bitstream is indeed signed by the holder of the private key associated with the public key used for verification. The digital signature also ensures that the content of the bitstream has not been altered since the signature was created. Even a bit of change in the bitstream causes a completely different signature. -## 4. BitStream Format +## BitStream Format -### 4.1. Domain Specific Language (DSL) +### Domain Specific Language (DSL) Using bitstreams (file content) we must look out for a problem with how to make bitstreams human readable. The first answer is that it must be compliant and coupled with a well-known application. The application opens this bitstream as input data and exposes it to the user employing appropriate means to make the data comprehensible. @@ -215,9 +213,9 @@ Using DSL to describe the bitstreams a Data Transfer Object (DTO) concept can be To use DTO in a multi-vendor environment to transfer data between instances of different programs the standardization of the syntax and semantics rules is vital. Additionally possibility to use well defined and widely accepted schema documents is a key feature to establish interoperability. -### 4.2. Extensible Markup Language (XML) Format +### Extensible Markup Language (XML) Format -#### 4.2.1. Introduction +#### Introduction Extensible Markup Language (XML) is a standard text-based format for representing structured data in machine-readable form. Because it is founded based on the text it could also be recognized as human-readable. Its simplicity and flexibility make it suitable for representing a wide range of data formats. @@ -227,7 +225,7 @@ XML is often used for data interchange between different applications. Overall, XML is versatile and widely adopted in various domains for configuring settings and exchanging process data. -#### 4.2.2. Visualization +#### Visualization As the XML format is text-based it can be directly read and displayed by a variety of software tools. However, it is not the preferred format, because it does not contain any formatting information. Today we expect data presentation to meet user experience, i.e. to have an appropriate layout and style. We can meet this requirement using any application that supports XSLT transformation of XML documents into other text documents, including but not limited to equivalent HTML documents. XSLT uses a template-driven approach to transformations: you write a template that shows what happens to any given input element. For example, if you were formatting working data to produce HTML for the Web, you might have a template (stylesheet file) to match an underlined group of elements and make it come out as a table. @@ -238,7 +236,7 @@ To make it easier to visualize the data that is in the XML file, let's use a fea > - To get more about how to start with XSLT visit the W3C School: [XSL(T) Languages][XSLW3C] > - To check out an examples visit the section [XML-based Presentation][xmlpresentation] -#### 4.2.3. Validation +#### Validation To address the validation requirement XML (Extensible Markup Language) as a text-based format for representing structured information and XML Schema as a language for expressing constraints about XML documents are very good candidates to be used by the file operation. Today applications use objects to process working data according to the Object Oriented Programming (OOP) paradigm. @@ -246,23 +244,23 @@ You may use the [XML Schema Definition Tool (Xsd.exe)][XSD], which generates XML To better understand topics related to validation check out code examples described in the section [XML-based Validation][xml-based-validation]. -#### 4.2.4. Standardization +#### Standardization Extensible Markup Language (XML), is a standardized markup language designed to store and transport data. It provides a set of rules for encoding documents in a machine-readable format. XML standardization ensures consistency in data representation and interchange across different systems. Visit the `See also` section to get more details. -### 4.3. JavaScript Object Notation (JSON) +### JavaScript Object Notation (JSON) -#### 4.3.1. Introduction +#### Introduction JavaScript Object Notation (JSON), is a lightweight data interchange format. It is a text-based domain-specific language that is easy for humans to read and write, and for machines to parse and generate. JSON is often used to transmit data between a server and a web application, as well as for configuration files. It consists of key-value pairs and supports data types like strings, numbers, objects, arrays, booleans, and null. -#### 4.3.2. Visualization +#### Visualization Yes, JSON can be transformed into other text formats using a variety of programming languages employing additional libraries for parsing and then converting to different formats like CSV, XML, or others as needed. Languages like JavaScript can be also used for transforming JSON documents to other text formats. JavaScript has built-in functions for JSON manipulation, and you can use libraries or frameworks to convert JSON to various formats as needed. -#### 4.3.3. Validation +#### Validation Thanks to schema definition it is possible to derive new domain-specific languages based on JSON. @@ -272,19 +270,19 @@ You may use a lot of available in the open access domain tools, which generates To better understand topics related to validation check out code examples related to XML described in the section [XML-based Validation][xml-based-validation]. XML is used to express a general disunion using concrete language. -#### 4.3.4. Standardization +#### Standardization This language is recognized as an international standard. It is standardized by the International Organization for Standardization (ISO) as [ISO/IEC 21778:2017][ISOJSON]. The standardization ensures that JSON is consistent and widely accepted for data interchange between different systems and programming languages. There is also [Request for Comments:7159][RFCJSON] specification titled _The JavaScript Object Notation (JSON) Data Interchange Format_. ISO/IEC 21778:2017 specifies the JSON data interchange format, its data model, and its various data types. JSON's simplicity, ease of use, and language-agnostic nature have contributed to its widespread adoption in various domains for representing and exchanging data. JSON is also supported by an open community maintaining schema specification [JSON Schema][CommunityJSON] -### 4.4. Yet Another Markup Language (YAML) +### Yet Another Markup Language (YAML) -#### 4.4.1. Introduction +#### Introduction YAML, short for "YAML Ain't Markup Language" is a human-readable data serialization format. It is often used for configuration files and data exchange between development environments with different data structures. YAML uses indentation to represent hierarchy and relies on a straightforward syntax with key-value pairs. It aims to be easy to read and write, making it popular in various applications, including configuration files for software projects. -#### 4.4.2. Visualization +#### Visualization YAML doesn't define any special language allowing automatic transformation of YAML document to other text-based documents that can be used to visualize associated information. To visualize the content of a YAML document, you can use various tools and editors that support YAML. Here are a few options: @@ -296,13 +294,13 @@ YAML doesn't define any special language allowing automatic transformation of YA Choose the method that best suits your preferences and workflow. -#### 4.4.3. Validation +#### Validation While YAML itself is not designed to be extended or derived into new languages, it is possible to create domain-specific languages (DSLs) or configuration languages based on YAML syntax. Developers can define specific rules and conventions within the YAML structure to suit the requirements of their particular domain or application. In essence, you can create a new language by establishing a set of guidelines for interpreting the YAML data in a specific way. This is often done in the context of configuration files or data representation for a particular software or system. Keep in mind that this is more about using YAML as a foundation and defining the semantics and rules for your specific language rather than formally deriving a new language from YAML. -## 5. See Also +## See Also - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] @@ -317,12 +315,14 @@ In essence, you can create a new language by establishing a set of guidelines fo [CommunityJSON]: https://json-schema.org/specification#specification [ISOJSON]: https://www.iso.org/standard/71616.html [RFCJSON]: https://datatracker.ietf.org/doc/rfc7159 -[ie]: .\DataStreams\README.md -[ies]: .\DataStreams\READMESerilization.md -[xmlpresentation]: .\DataStreams\README.md#xml-based-presentation [XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp [XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type + +[ie]: ./DataStreams/README.md +[ies]: ./DataStreams/READMESerilization.md +[xmlpresentation]: ./DataStreams/README.md#xml-based-presentation [xml-based-validation]: ./DataStreams/README.md#xml-based-validation +[READMECryptography]: ./DataStreams/READMECryptography.md diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index 21974afc..2d48706b 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -11,23 +11,23 @@ //_____________________________________________________________________________________________________________________________________ --> -# 1. External Data Management (ExDM) +# External Data Management (ExDM) ## Table of Content -- [1. Key words](#1-key-words) -- [2. Introduction](#2-introduction) -- [3. External Data](#3-external-data) - - [3.1. Preface](#31-preface) - - [3.2. Data Management and Access](#32-data-management-and-access) -- [4. Conclusion](#4-conclusion) -- [5. See also](#5-see-also) +- [Key words](#key-words) +- [Introduction](#introduction) +- [External Data](#external-data) + - [Preface](#preface) + - [Data Management and Access](#data-management-and-access) +- [Conclusion](#conclusion) +- [See also](#see-also) -## 1. Key words +## Key words software engineering, education, learning, external data, data management, streaming data, structural data, graphical data -## 2. Introduction +## Introduction Computer science in general, and especially software engineering, is a field of knowledge that deals with the automation of information processing. Programs can be recognized as a driving force of that automated behavior. To achieve information processing goals programs have to implement algorithms required by applications. In other words, the programs describe how to process data, which represents information relevant to the applications in concern. Apart from the implementation of the algorithms, therefore, data management is a key issue from the point of view of automation of information processing in particular and computer science in general. @@ -37,9 +37,9 @@ Providing solutions valid for a long-term horizon is extremely difficult for suc To ensure a practical context of the discussion and provide sound examples, all topics are illustrated using the C\# programming language and the Visual Studio design environment. The source code used is available in the GitHub repository. Check it out from the See Also section. I believe that the proposed principles, design patterns, and scenarios are generic and may be seamlessly ported to other environments, including but not limited to different programming languages. The language and tools mentioned above have been used only to embed the discussion in a particular environment and to ensure that the examples are compliant with the programming in practice principles. -## 3. External Data +## External Data -### 3.1. Preface +### Preface The external data is recognized as the data we must pull or push from outside of a boundary of the process hosting the computer program. In general, the external data may be grouped as follows: @@ -47,7 +47,7 @@ The external data is recognized as the data we must pull or push from outside of - **structural** - data fetched/pushed from/to external database management systems using queries - **graphical** - data rendered on Graphical User Interface (GUI) -### 3.2. Data Management and Access +### Data Management and Access Data management involves the organization, storage, retrieval, communication, and manipulation of data to ensure its accuracy, security, and accessibility. It encompasses processes like data collection, storage architecture, data integration, and maintenance to support efficient analysis and decision-making. @@ -69,16 +69,15 @@ Referring to previously mentioned data kinds we need examples related to: **graphical user interface (GUI)**: GUI is a type of user interface that allows users to interact with electronic devices or software applications through graphical elements such as icons, buttons, windows, and menus. To handle GUI functionality allowing data rendering, data entering, and events handling is required. Data rendering refers to the process of converting raw data into a visual or presentable format for users to comprehend. Key aspects of GUI handling include converting raw data into a format suitable for further processing and adapting the presentation of data to different screen sizes or devices to ensure a consistent and effective user experience. GUIs provide a visual way for users to interact with a system, making it more intuitive and user-friendly compared to text-based interfaces. -## 4. Conclusion +## Conclusion This section and subsections address examples of practical scenarios regarding various aspects of external data management. Referring to previously mentioned data kinds we need examples related to: - - **streaming**: files management, bitstreams format, interoperability, cybersecurity of bitstreams, serialization - **structural**: queries compositions, queries execution, database interoperability - **graphical**: data rendering, data entering, events handling -## 5. See also +## See also - [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; The course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. - [Programming in Practice; GitBook eBook](https://mpostol.gitbook.io/pip/) - The content of this eBook is auto-generated using the markdown files collected in this repository. It is distributed online upon the open access rules. @@ -90,5 +89,3 @@ This section and subsections address examples of practical scenarios regarding v [Discussion]: https://github.com/mpostol/TP/discussions [MPUdemy]: https://www.udemy.com/user/mariusz-postol/ [udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 - - From 792f31cb4ee0c61e98ce2eeb21a1e53f3a532282 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 17 Mar 2024 21:59:21 +0100 Subject: [PATCH 36/67] ExDM Add documentation to the selected parts of the code #369 - DataStreams changed backslash in the URL references --- ExDataManagement/DataStreams/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 3040c78b..1d4058c5 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -321,8 +321,8 @@ In essence, you can create a new language by establishing a set of guidelines fo [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type -[ie]: ./DataStreams/README.md -[ies]: ./DataStreams/READMESerilization.md -[xmlpresentation]: ./DataStreams/README.md#xml-based-presentation -[xml-based-validation]: ./DataStreams/README.md#xml-based-validation -[READMECryptography]: ./DataStreams/READMECryptography.md +[ie]: .\DataStreams\README.md +[ies]: .\DataStreams\READMESerilization.md +[READMECryptography]: .\DataStreams\READMECryptography.md +[xmlpresentation]: .\DataStreams\README.md#xml-based-presentation +[xml-based-validation]: .\DataStreams\README.md#xml-based-validation From 6fd5062589e27aec70ffeb8f6aa9a39b3e4f1549 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 17 Mar 2024 22:17:00 +0100 Subject: [PATCH 37/67] ExDM Add documentation to the selected parts of the code #369 - DataStreams changed backslash in the URL references --- ExDataManagement/DataStreams/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 1d4058c5..e7e9d92e 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -321,8 +321,8 @@ In essence, you can create a new language by establishing a set of guidelines fo [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type -[ie]: .\DataStreams\README.md -[ies]: .\DataStreams\READMESerilization.md -[READMECryptography]: .\DataStreams\READMECryptography.md -[xmlpresentation]: .\DataStreams\README.md#xml-based-presentation -[xml-based-validation]: .\DataStreams\README.md#xml-based-validation +[ie]: DataStreams/README.md +[ies]: DataStreams/READMESerilization.md +[READMECryptography]: DataStreams/READMECryptography.md +[xmlpresentation]: DataStreams/README.md#xml-based-presentation +[xml-based-validation]: DataStreams/README.md#xml-based-validation From 7dd983eb8f5848a44472506133fd61860d6ef68d Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 23 Mar 2024 16:25:31 +0100 Subject: [PATCH 38/67] ExDM Add documentation to the selected parts of the code #369 - fixed DataStreams --- ExDataManagement/DataStreams/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index e7e9d92e..e847677e 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -131,13 +131,13 @@ Assuming that the data transformation algorithm has been implemented somehow, th The list of applications - mentioned previously as potential bitstream consumers - includes the exchange of data between remote applications. It should be emphasized here that if these applications are created by different manufacturers, the standardization of this representation becomes extremely important. So, the fact that we combine words into correct sequences of words and assign to them meaning, that these syntax and semantics rules are standard in the sense that there are international documents that are published by organizations recognized as standardizing, that will allow us to recreate the graph of objects in applications that are created by other vendors. -✍🏻 We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of application. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create characters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which encoding is known in advance or discoverable somehow. +We also said earlier that sometimes these bitstreams are also used to communicate with humans. Of course, standardization is also important for this kind of application. A bitstream user must be able to read this sequence of bits, and therefore combine sequences of bits into words and words into correct sequences of words. Finally, these strings of words have to have meaning for him. First, it is important to be able to apply encoding to create characters so that the bitstream becomes a text. Let me remind you that the text is a bitstream for which encoding is known in advance or discoverable somehow. From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. -In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Objects Serialization Implementation Examples][ies]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is a responsibility of program authors, there must be measures allowing to point out what has to be serialized. +In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Objects Serialization Implementation Examples][ies]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is the responsibility of program authors, there must be measures allowing them to point out what has to be serialized. -To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To implement the mentioned functionality access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. +To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like custom, JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To fulfill the mentioned requirements access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. > To learn more about the serialization in .NET, visit the document: [Serialization in .NET][STLZTN]. From 89047e0bbca8bd87af464af9ce8b44e4c7464b5b Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 23 Mar 2024 22:38:25 +0100 Subject: [PATCH 39/67] ExDM Add documentation to the selected parts of the code #369 - Updated README.md after submitting PiP - External Streaming Data - Useful Concepts --- ExDataManagement/DataStreams/README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index e847677e..49974c91 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -48,6 +48,8 @@ ## Introduction +To use computers to automate information processing we have to deal with bitstreams as the information representation. By design, bitstream management involves the organization, storage, retrieval, communication, and manipulation to ensure accuracy, security, and accessibility. It encompasses data collection, storage architecture, integration, and maintenance to support efficient analysis and decision-making. To fulfill these requirements, the following concepts could be a real relief. It includes but is not limited to presentation, validation, standardization, serialization, and safeguarding of data. + This folder `ExDataManagement\DataStreams` contains examples related to information representation as a bitstream and is devoted to discussing selected programming issues related to their management. ## File and Stream Concepts Preface From 2d9320e2fe4ff42923a793a3d79a3e41504cf6ca Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 29 Mar 2024 18:04:26 +0100 Subject: [PATCH 40/67] ExDM Add documentation to the selected parts of the code #369 Working on READMESerialization.md --- .../DataStreams/READMESerialization.md | 104 ++++++++++-------- 1 file changed, 57 insertions(+), 47 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index 89f4814f..d6932c52 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -3,33 +3,41 @@ ## Table of Content - [1. Introduction](#1-introduction) - - [1.1. Self Controlled](#11-self-controlled) + - [1.1. Self-controlled Serialization](#11-self-controlled-serialization) - [1.2. Attributes and Reflection](#12-attributes-and-reflection) - [1.3. Graph of Objects Serialization](#13-graph-of-objects-serialization) - [2. Self-controlled Serialization Example](#2-self-controlled-serialization-example) - [3. Reflection-Based Serialization Example](#3-reflection-based-serialization-example) - [3.1. Reflection](#31-reflection) - - [3.2. Attributes](#32-attributes) - [3.3. Graph of Objects](#33-graph-of-objects) ## 1. Introduction -From the previous considerations, we know that serialization/deserialization is a data wrapped by an object transformation process from/to a bitstream form. These operations should be implemented as generic ones. It means that they don't depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress that to provide a generic solution this mechanism must not depend on the object type. +From the previous considerations, we know that serialization/deserialization is the transformation process of data wrapped by an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they must not depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress, that to provide a generic solution, this mechanism must not depend on the object type. -Let me stress again that we have two issues that we need to resolve. The first one is which of the value-holder members should be included in the resulting stream. The second one is how we can read the values for these selected value-holder members without directly referencing the type definition. +Let me stress again that we have two issues that we need to resolve. The first issue is a selection of the value-holder members that should be included in the resulting stream. The second is reading the values for these selected value-holder members without directly referencing the type definition. -Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a bitstream and recover it from a bitstream to populate instantiated types. In other words, reading and writing values to its selected members without directly referring to its type. The main problem is that if the concrete type definition is not visible we don't have access to its members. We will analyze typical two approaches to implement this algorithm: +Talking about serialization/deserialization we must answer the question of how to build universal and stand-alone libraries that will allow you to transfer data wrapped by an object to a bitstream and recover it from a bitstream to populate instantiated types. In other words, reading and writing values to its selected members without directly referring to its type. The main problem is that if the concrete type definition is not visible we don't have access to its members. We will analyze the following two typical approaches to implement this algorithm: -- **self controlled** - The type exposes functionality that enables reading from and assigning to properties constituting the state +- **self-controlled** - the type exposes functionality that enables reading from and assigning to the type members contributing to the instance state - **attributes and reflection** - metadata added by attributes to select state contributors and reflection that enables reading from and assigning to properties constituting the state -### 1.1. Self Controlled +### 1.1. Self-controlled Serialization -The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is presented later in this section. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the `ISerializable` interface has to be implemented. This interface acts as a contract between the target but custom class to be serialized and the class that implements the serialization algorithm and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. +The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is presented later in this section. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the [ISerializable][iserializable] interface has to be implemented. -The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the `ISerializable` interface instead of being provided by a generic library. +```aspx-csharp +public interface ISerializable +{ + void GetObjectData(SerializationInfo info, StreamingContext context); +} +``` + +This interface acts as a contract between the target but custom class to be serialized and the class that implements the final transformation of a collection of values to a bitstream and by design, implements this algorithm without detailed knowledge about the target type. Only this interface is in common. We must be aware that the proposed solution is not perfect. There are still many issues that have been left unsaid. So let's start by systematizing the shortcomings of this proposal. + +The first issue that we must address is the full autonomy of the serialization and deserialization process. In this approach, we must manually ensure that the appropriate values constituting the state of the target object are saved in the dedicated array, which is passed on to be written to the bitstream. It means that partially this functionality must be implemented by the custom type in compliance with the [ISerializable][iserializable] interface instead of being provided by a generic library. -The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for this, and therefore any modification in one piece must be mirrored in the other piece. This can lead to errors if this is not the case. +The second issue related to the self-controlled approach to access values constituting the state of an object is the necessity of harmonization of the custom operations carried out during the serialization with the operations carried out during deserialization. From the mentioned examples we learn that two separate pieces of custom code are responsible for implementing this responsibility, and therefore any modification in one code piece must be mirrored in the other piece. This can lead to errors if this is not the case. The main benefit of this technique is the lack of necessity to additionally determine the state of the object because this operation is postponed to the serialization mechanism itself. This mechanism must be implemented manually by the author of the type so it could be assumed that only vital values are transferred to the bitstream format and recovered from the bitstream. @@ -39,80 +47,86 @@ Examples illustrating serialization using self-controlled access to values contr ### 1.2. Attributes and Reflection -Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can both read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. It address the error prone self-controlled data access type responsibility. +Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. It addresses the error-prone self-controlled data access responsibility of a type. + +The rule that in the output stream all the values must be saved, which can be retrieved from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't contribute to the object state. A solution to this problem may be based on applying dedicated attributes. It means that in practice properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`. + +``` csharp +public class XmlIgnoreAttribute : Attribute +``` -The rule that in the output stream all the values must be saved, which can be retrieved from public properties, and which have both getter and setter cannot be used uncritically. We also need to consider the case when such properties exist, but for some reason, we do not want to save their values in the output stream - they don't contribute to the object state. The solution to this problem can be based on our knowledge of attributes. In practice, it means that properties of this kind are preceded by a selected attribute. For example, it may be `XMLIgnore`, which will indicate that you must use all public properties that have a getter and setter, except those preceded by the an attribute. The question is whether in this solution we ensured the symmetry of the serialization and deserialization operations. The answer is yes because both reading data and writing data functionality are side by side in the same place, by using the same property. +It indicates that you must use all public properties having a getter and setter, except those preceded by this attribute. -Summarizing, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. +In this solution, the question is whether we can ensure the symmetry of the serialization and deserialization operations. The answer is yes because reading data and writing data functionality are side by side in the same place using the same property. -Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of the object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. The main outcome of this approach is that in the target type that is subject to serialization, there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. +Recapping, from the above, we may learn how to use attributes and reflection to ensure full autonomy of the serialization process and harmonize the behavior of converting objects to a stream and stream to objects. Autonomy in this context means that the reflection is employed to implement a library and, as a result, the conversion process can be performed without dedicated custom code embedded in the type of objects to be serialized and deserialized. -Discussing all the details of the reflection concept is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. +Reflection-based serialization is a technique in software engineering where the internal structure of an object is recovered and internal data is serialized or deserialized based on metadata available at run-time related to the type of the object. This approach allows for dynamic transferring of object state to bitstream without explicit configuration. The main outcome of this approach is that in the target type (subject to serialization) there is no need to create dedicated code that is used to implement this operation. So we can say that reflection enables us to offer a strictly autonomous solution. -Examples illustrating serialization using reflection and attributed programming are described later in the section .... +Discussing the reflection concept in detail is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. + +Examples illustrating serialization using reflection and attributed programming are described later in the section [Reflection-Based Serialization Example](./READMESerialization.md##3-reflection-based-serialization-example) ### 1.3. Graph of Objects Serialization Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. -Generally, we can distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we will never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. In the case when graphs are cyclic, then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections causing loops in the graph of objects, then there will be a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. +Generally, we may distinguish two types of these structures. The first one is created using hierarchical interconnections, which resembles a tree. In this case, starting from any point of such a structure and following the directional references we never return to the starting point. Thanks to this feature, in mathematics this kind of graph is called acyclic. If graphs are cyclic then there are points in the graph that when we start from these points and follow the references, it is possible to return to the starting points. So such graphs have loops. + +Since graph serialization requires an iterative approach, it requires that we iteratively traverse a tree of objects, provided that it is a tree. If there are cyclic connections (causing loops in the graph of objects) then there is a problem with stopping the iteration and avoiding double serialization (cloning) of the same object. -If a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model. Assuming unidirectional interconnections between the objects, we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. +Assuming unidirectional interconnections between the objects and if a graph of objects is created as interconnected objects in such a way that they create a tree, or at least a layered model we can distinguish objects that are at the top of a hierarchy and objects that are beneath. Therefore, data transformation operations may be performed starting from those objects that are at the top and ending with those objects that are at the bottom of the hierarchy of references between objects. Unfortunately, often happens that we must deal with more demanding structures, where these references create cycles. For example, in this example (fig. below), classes refer to each other creating a cycle. ![Fig. 1](../.Media/Part3-N80-10-Diagram.png) -Assuming that instances of all classes are created (fig. below), the question arises which of the objects should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term: equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. +Assuming that instances of all classes are created (fig. below), the question arises which one of the objects in the graph should be subject to the serialization process first. Therefore, in this case, we must not insist that the hierarchy between objects is dependent on the order of representation in the stream. Hence, here we must introduce the following term, namely equivalence of streams. If a stream contains a representation of all information including references, the order in which the data associated with each instance is placed in the stream is not relevant, provided that each object is serialized only once. Due to the above, it has to be considered that several different bitstreams contain equivalent states of individual objects and these object states will be placed in different orders but all of them are equivalent to each other. It means that on their basis it will be possible to reconstruct an equivalent graph of objects. Creating equivalent streams does not mean that they have to be identical and therefore, for example, they can be directly compared with each other. ![Fig. 2](../.Media/Part3-N80-20-Rekurencja.png) Another issue that should be addressed here is when the serialization process should be ended. For example, if we start with an instance of one class, let's say `ServiceA` (fig. above), next proceed to serialize the instance of the `ServiceB` class and consequently proceed to an instance of the `ServiceC` class, we must have an iteration stop condition to avoid cloning of the instance `ServiceA` because it has been already serialized, i.e. the transformation process has been performed for it. For the more complex graphs, it could be not so easy. -In case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. +In the case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause the cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. ## 2. Self-controlled Serialization Example To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to properties defined as a member of a type that is a candidate to be serialized. -The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of which is named `AverageIncome`, and returns a calculated value, so it returns the result of an expression executed against values stored locally. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to preserve it in the bitstream. The constructor of this class is responsible for recovering the initial values (state) of this class when the object is created. +The [SelfControlSerialization][SelfControlSerialization] class contains three properties. One of them is named `AverageIncome` and returns a calculated value. In other words, it returns the result of an expression executed using local values. This example shows that to recreate an object of this class, we only need to transform two values because the third one is always calculated, so there is no need to preserve it in the bitstream. The constructor of this class is responsible for recovering the initial values (state) of this class when the object is created. -To transform an instance of this class (to serialize it), first, an attribute has to be associated with it that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values that contribute to the state of the object. The question is how to do it. +To transform an instance of this class (to serialize it), first, an attribute has to be associated with it that indicates that it is intended for serialization. However, this does not solve the issue of selecting the values contributing to the object state. The question is how to do it. -The first approach to selecting values contributing to the object state is to have built-in functionality in the target type allowing the selection of appropriate values. It means moving the responsibility of state selection to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time. Let's look at the serialization process using a unit test in this context. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. +The first approach to selecting values contributing to the object state is to have built-in functionality in the target type selecting appropriate values. It means moving the responsibility of state selection to the target class. Unfortunately, it solves only partially the problem because this functionality must be implemented each time a new type is defined. Let's look at the serialization process using a unit test. The test method [SelfControlSerializationTest][SelfControlSerializationTest] implements functionality well suited for this purpose. -In this test class, we create an object of the target class that is to be serialized. In the next step, we must have a library class that implements the serialization functionality. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a file stream with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the `ISerializable` interface. +In this test class, we create an object of the target class that is to be serialized. In the next step, we must have a library class responsible for transferring a set of values to a bitstream. I have prepared a class called [CustomFormatter][CustomFormatter]. A bit later I will describe this class in more detail. After implementing the serialization functionality we can create a bitstream. Let's use a `FileStream` with a given name for this purpose and serialize the object to it, i.e. write a bitstream to this file content. After that, the content contains the state of the serialized object according to the selection made by the object itself thanks to the implementation of the [ISerializable][iserializable] interface. -After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object's state have been written to it. Then let's read this file and save it locally to manually examine its content. +After preparing the serialization result, in the next step, let's check that this file exists and that its length indicates that values that constitute the object state have been written to it. Then let's read this file and save it locally to manually examine its content. -But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and it implements many operations to avoid cloning code and implementing the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the `ISerializable` interface. The main aim is to avoid using reflection and, instead, use embedded functionality allowing to read values that contribute to the object state. Thanks to implementing `ISerializable`, we can retrieve them from this object using the `GetObjectData` operation. +But now let's move on to the implementation of the [CustomFormatter][CustomFormatter] class. Our [CustomFormatter][CustomFormatter] inherits from the [Formatter][Formatter] class. This class is defined in the language library and implements many operations to avoid cloning code and implementing the same functionality over and over. Using this type to implement serialization, it is assumed that the object to be serialized implements the [ISerializable][iserializable] interface. The main aim is to avoid using reflection and use embedded functionality that allows reading values that contribute to the object state. Thanks to implementing [ISerializable][iserializable], we can retrieve them from this object using the `GetObjectData` operation. -Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the `ISerializable` interface. The main aim is to read values that contribute to the object state using typical programming means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can, therefore, perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. +Again, using this approach to implement serialization, it is assumed that the object type to be serialized implements the [ISerializable][iserializable] interface. The main aim is to read values that contribute to the object state using typical programming means. By design, this functionality must be provided by the target type. An example is in the [SelfControlSerialization][SelfControlSerialization] class. Thanks to this, we can retrieve the vital values from the target object by using the `GetObjectData` method. As a result of this operation, we have access to all values even private ones, and we can perform serialization operations for all values even invisible outside of the target object. So, we can repeat the writing of individual values thanks to the `WriteMember` method, which is implemented in the `Formatter` class. Next, there are operations related to creating an XML document and saving this document in a file. It is worth emphasizing that in our example we only write `double` values and it is a reason that only the `WriteDouble` method has been implemented. It creates an instance of the `XElement` type passing the value and key to the constructor. It is also important here that the [CustomFormatter][CustomFormatter] class is implemented in the library. -To implement deserialization we must create an instance of the type and populate value holders to initialize the object state. To implement this functionality the dedicated [SelfControlSerialization][SelfControlSerializationConstructor] constructor must be provided. +To implement deserialization we must create an instance of the type and populate value holders to initialize the object state. To implement this responsibility, the dedicated [SelfControlSerialization][SelfControlSerializationConstructor] constructor must be provided. -The architecture of the solution shows that this class cannot have references (cannot use), and cannot refer to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the `ISerializable` interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. - -```csharp -public interface ISerializable -``` +In this approach, the [SelfControlSerialization][SelfControlSerialization] class cannot have a reference to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the [ISerializable][iserializable] interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. ## 3. Reflection-Based Serialization Example ### 3.1. Reflection -It's time to move on to practical acquaintance with selected reflection mechanisms. To get more about reflection based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword based on the type definition or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created as a result of engaging the keyword ot invoking the mentioned method. The examples discussed show how to use this description to read and write the values of a selected member of a type. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create new objects without referring to the `new` keyword. +It's time to move on to practical acquaintance with selected reflection mechanisms. To get more about reflection based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected member of a type. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create a new object without using the `new` keyword. -This example explains how to serialize using reflection and attributed programming. Examples collected in this section are dedicated to demonstrate how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. +This example explains how to serialize using reflection and attributed programming. Examples collected in this section are dedicated to demonstrating how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. -The `ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation` folder contains classes that represent XML schema and are used by the program as an object model of the working data. As an example of reflection based data values access is the [Catalog][Catalog] class, which is to contain an array of CD descriptions. So here we have property, which is an array containing CD descriptions complaint with the [CatalogCD][CatalogCD] class defined in the same file. -The serialized classes were defined in the test project. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the target type of serialized classes. +The `ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation` folder contains classes that represent the XML schema used by the program as an object model of the working data. An example of reflection-based data values access is the [Catalog][Catalog] class, which contains an array of CD descriptions. So here we have property, which is an array containing CD descriptions consistent with the [CatalogCD][CatalogCD] class defined in the same file. +Classes to be serialized were defined in the test project. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the definition of serialized classes. -As we see in this example, we do not have to create custom code in the target type that is subject to serialization that is used to implement this operation. So we can say that in this case, the serialization process is strictly autonomous. +As we see in this example, we do not have to create custom code in the target type that is to be subject to serialization and used to implement this responsibility. So we can say that in this case, the serialization process is exactly autonomous. -The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects [Catalog][Catalog] class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that populates the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's use the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. +The main aim of the [SerializationUnitTest.ReadWRiteTest][ReadWRiteTest] method is to test the serialization of the graph of objects represented by the [Catalog][Catalog] class. To be tested, the instances must be populated with test data. This class is located in unit tests, so I can add an appropriate method that populates the instance of this class with test data. The only question is where to add it. Adding this method to auto-generated text, i.e., text obtained as a result of an external program, is not a good idea, because our work is overwritten after each modification and generation of a new text. Therefore, let's take advantage of the fact that this class is generated as a partial class, and to populate the instance of this class with test data, we have to expand its definition by adding a custom part, which will be its integral part. In this part of the definition, located in a separate file, we can safely add all the operations we want to perform for this purpose. For this method called `AddTestingData` I used attributed programming again by adding an attribute that indicates that this method will be subject to compilation only when we have an environment configuration named [DEBUG][Debug]. Coming back to the unit tests, we see that an object has been created, and this object has been populated with test data. To make sure, we check that the instance has been created and initialized. Then we define the path where we want to save the file and use the `WriteXMLFile` method. This is a generic method. In its first parameter, we pass a graph of objects to be serialized, the file name, and details related to the output file creation. @@ -122,7 +136,7 @@ The [WriteXmlFile][WriteXmlFile] method has been defined in the library. We will _xmlSerializer.Serialize(_writer, dataObject); ``` -All other instructions generally are used to protect against wrong values of parameters and to improve the formatting of the output XML text. +By design, all other instructions are used to protect against wrong values of parameters and to improve the formatting of the output XML text. For testing purposes, an operation is performed to read the same file and create an equivalent graph of objects, i.e. deserialization implemented in the following assignment instruction @@ -134,20 +148,17 @@ We can now check whether the result is consistent with our expectation, i.e. whe There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] method. The first one is reading the stream and restoring an equivalent graph of objects. The second one is to check whether the graph of objects is equivalent compared with the original one. As we can see in this method, the same library called `XMLSerializer` is used. As previously the operation of restoring the graph of objects comes down to one instruction. From the example we can derive that testing if the recovered graph of objects is equivalent to the original one strongly depends on the custom type definitions and cannot be performed universally, therefore it must be the responsibility of developers. -Thanks to presented example we may learn how attributed programming and reflection can be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. - -### 3.2. Attributes - -In the presented example there is need to point out members contributing to the object state. In the [Catalog][CatalogAttributes] class attributes are only used to control behavior of the serialization process. +Thanks to the presented example we may learn how attributed programming and reflection may be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. In the presented example there is no need to point out members contributing to the object state. In the [Catalog][CatalogAttributes] class attributes are only used to control the behavior of the serialization process. ### 3.3. Graph of Objects -Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created by creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. Here and in the next two lines it is assumed that these are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. +Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created while creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. It is assumed that there are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. [ie]: .\README.md [system.type]: https://learn.microsoft.com/dotnet/api/system.type [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter +[iserializable]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable [ReadWRiteTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 [WriteXmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 @@ -159,4 +170,3 @@ Although we know that this is not a universal approach, let us return to the dis [XmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 [SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 [SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 -P/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 From f3e49f357bac0ae78b5dd86a4c469abed036c39a Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 29 Mar 2024 20:55:56 +0100 Subject: [PATCH 41/67] ExDM Add documentation to the selected parts of the code #369 Reviving READMESerialization.md --- .../DataStreams/DataStreams/READMESerialization.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index d6932c52..cc3e46b4 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -8,8 +8,6 @@ - [1.3. Graph of Objects Serialization](#13-graph-of-objects-serialization) - [2. Self-controlled Serialization Example](#2-self-controlled-serialization-example) - [3. Reflection-Based Serialization Example](#3-reflection-based-serialization-example) - - [3.1. Reflection](#31-reflection) - - [3.3. Graph of Objects](#33-graph-of-objects) ## 1. Introduction @@ -65,7 +63,7 @@ Reflection-based serialization is a technique in software engineering where the Discussing the reflection concept in detail is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. -Examples illustrating serialization using reflection and attributed programming are described later in the section [Reflection-Based Serialization Example](./READMESerialization.md##3-reflection-based-serialization-example) +Examples illustrating serialization using reflection and attributed programming are described later in the section [Reflection-Based Serialization Example](./READMESerialization.md#3-reflection-based-serialization-example) ### 1.3. Graph of Objects Serialization @@ -115,8 +113,6 @@ In this approach, the [SelfControlSerialization][SelfControlSerialization] class ## 3. Reflection-Based Serialization Example -### 3.1. Reflection - It's time to move on to practical acquaintance with selected reflection mechanisms. To get more about reflection based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected member of a type. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create a new object without using the `new` keyword. This example explains how to serialize using reflection and attributed programming. Examples collected in this section are dedicated to demonstrating how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. @@ -150,8 +146,6 @@ There are two more things worth noting about the [ReadWRiteTest][ReadWRiteTest] Thanks to the presented example we may learn how attributed programming and reflection may be used to ensure autonomy and synchronization of object-to-stream conversion processes and vice versa. In the presented example there is no need to point out members contributing to the object state. In the [Catalog][CatalogAttributes] class attributes are only used to control the behavior of the serialization process. -### 3.3. Graph of Objects - Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created while creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. It is assumed that there are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. [ie]: .\README.md From 8e1fa608413b6397cebd989bbc78e4cbbae1c492 Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 29 Mar 2024 21:53:29 +0100 Subject: [PATCH 42/67] ExDM Add documentation to the selected parts of the code #369 Reviving READMESerialization.md --- ExDataManagement/DataStreams/DataStreams/READMESerialization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index cc3e46b4..10317692 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -148,7 +148,7 @@ Thanks to the presented example we may learn how attributed programming and refl Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created while creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. It is assumed that there are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. -[ie]: .\README.md +[ie]: ..\README.md [system.type]: https://learn.microsoft.com/dotnet/api/system.type [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter From 441a82c752142acf9e6ee08de0ff64dceb4b0b76 Mon Sep 17 00:00:00 2001 From: MPostol Date: Fri, 29 Mar 2024 21:57:49 +0100 Subject: [PATCH 43/67] ExDM Add documentation to the selected parts of the code #369 Reviving READMESerialization.md --- ExDataManagement/DataStreams/DataStreams/READMESerialization.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index 10317692..7bce5989 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -148,7 +148,7 @@ Thanks to the presented example we may learn how attributed programming and refl Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created while creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. It is assumed that there are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. -[ie]: ..\README.md +[ie]: README.md#implementation-examples- [system.type]: https://learn.microsoft.com/dotnet/api/system.type [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter From 885fe928e397e0b66ff9ca6918fe5007c5a75142 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 30 Mar 2024 10:24:21 +0100 Subject: [PATCH 44/67] ExDM Add documentation to the selected parts of the code #369 Reviving DataStreams --- .../DataStreams/.Media/Diagram.wmf | Bin 0 -> 6395062 bytes .../.Media/P3.5-KryptografiaCzesc1.pptx | Bin 768032 -> 0 bytes .../.Media/P3.5-KryptografiaCzesc2.pptx | Bin 745812 -> 0 bytes .../.Media/P3.5-KryptografiaCzesc3.pptx | Bin 740429 -> 782472 bytes .../.Media/Part3-N80-10-Diagram.png | Bin 6078 -> 17224 bytes .../DataStreams/DataStreams/README.md | 4 ++++ 6 files changed, 4 insertions(+) create mode 100644 ExDataManagement/DataStreams/.Media/Diagram.wmf delete mode 100644 ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc1.pptx delete mode 100644 ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc2.pptx diff --git a/ExDataManagement/DataStreams/.Media/Diagram.wmf b/ExDataManagement/DataStreams/.Media/Diagram.wmf new file mode 100644 index 0000000000000000000000000000000000000000..aec561a1f892a40f6897057b9d8c488109298570 GIT binary patch literal 6395062 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 literal 0 HcmV?d00001 diff --git a/ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc1.pptx b/ExDataManagement/DataStreams/.Media/P3.5-KryptografiaCzesc1.pptx deleted file mode 100644 index 886182330d1f3fa472393a4c91e8e6becd2969c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 768032 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%0Dg`@^2`Wy| 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

      F^O8D&ve5RjavH`w|`gnN@O6?~kp`md*Cw(Il<2 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

      )Qv9 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%0AaxItX+QaUAgJ6+7ILR%(qkVi`PkJ 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

      J6>@beZIWJYkAg#zj&I%=lhw7)oWgPhq;G- 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

      0!x~*&%DO7=w~v_1UUiS<^gT=nRQwS1bcgNN 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

      j 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 hT|rp^fu00E>aXk+bYWbLS{ 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

    1. 5Jl`7#LO^564sJ=$1a~n$1jakQtO9N*A+|O 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

      AeeC^L$#s}p$aByS$b>aAc- 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≪jk*J3shP6 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

      #7Xgk&lJ(auWhR(xsE9 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 delta 16069 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 MVPLMQdkC|gMkLW`_r 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 V_5bZkec={tPoC&xn`$ju|9>}Fj2i#| literal 6078 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 ### Program Context @@ -117,7 +119,9 @@ The file is represented by the `Stream` type, and to write data to it first, we We must be aware of how the data can be prepared. Let's look at the definition of the `Stream` type. Analyzing members that may be used to write to a variable of `Stream` type we see that all `Write' operations have parameters of type a sequence of bytes. So in this case, and in all other cases where we will use a stream to represent other data types, the data will always be formatted as the bitstream. + The last thing remains to be explained, namely the close operation, which we perform on the stream. Since the open operation appeared at the beginning, in contrast, the closing operation must appear at the end. It is again fundamentally important because it closes the file, which means that the critical section is no longer needed. So, from now on, others will also be able to use this file - they will be able to open this file. Therefore, it should appear immediately after finishing working with this file. It means that we will not be going to perform further operations on this file within the program. The question is what will happen when, for example, an exception occurs in the program between opening a file and closing it. The throw statement breaks the sequence of statements to be executed. As a result, the `Close` operation will never be executed. Using modern execution environments forces this file will be closed by the environment at some point. However, this will not happen immediately and we should use different operations here, a different approach, and take advantage of the fact that `Stream` implements the IDisposable interface, which allows the use of the `using` statement. The `using` statement causes the dispose operation to be executed against the `stream` variable as the last method invocation before exiting the using visibility scope. If the stream or block of statements that is part of the using operation is interrupted, the `Dispose` operation will also be executed. Thanks to this, we can ensure that the file will be closed immediately when the next program statements no longer have access to the `stream` variable because it goes out of the visibility range. From c66d14d2dbbb5d52047e082d02efb9c89dda5a33 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 30 Mar 2024 10:28:42 +0100 Subject: [PATCH 45/67] ExDM Add documentation to the selected parts of the code #369 Reviving DataStreams --- .../DataStreams/.Media/PodpisCyfrowy.png | Bin 51001 -> 51001 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ExDataManagement/DataStreams/.Media/PodpisCyfrowy.png b/ExDataManagement/DataStreams/.Media/PodpisCyfrowy.png index 2af297f944cac533d4759c9d4d552b2d39e20ebc..614b939106e615445e1122b88a74ebd642e33247 100644 GIT binary patch delta 23 fcmdnl$Go$Td4fIH3uZY^X;~JRum3lCemDjIXd(%u delta 23 fcmdnl$Go$Td4fIHa~>`c8Qyn>%QkQH{BR5aYXJ$+ From 95b21622f4bf8d56ddc2b50fdedb624f3bc9bce3 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 30 Mar 2024 10:34:32 +0100 Subject: [PATCH 46/67] ExDM Add documentation to the selected parts of the code #369 Reviving DataStreams --- .../.Media/Part3-N80-10-Diagram.png | Bin 17224 -> 9402 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/ExDataManagement/DataStreams/.Media/Part3-N80-10-Diagram.png b/ExDataManagement/DataStreams/.Media/Part3-N80-10-Diagram.png index 3f157b75bf52d2f0e0a7ab348b73ea4f8747a995..3ff53c697e2e2046f00759336c67eff64ec8beef 100644 GIT binary patch literal 9402 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 V_5bZkec={tPoC&xn`$ju|9>}Fj2i#| From 0b5f0b4f4f752182d8a83410b1c6019413934808 Mon Sep 17 00:00:00 2001 From: MPostol Date: Sat, 30 Mar 2024 10:48:45 +0100 Subject: [PATCH 47/67] ExDM Add documentation to the selected parts of the code #369 Reviving READMESerialization.md - working on links to local sections --- .../DataStreams/READMESerialization.md | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index 7bce5989..64f21a5d 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -2,14 +2,14 @@ ## Table of Content -- [1. Introduction](#1-introduction) - - [1.1. Self-controlled Serialization](#11-self-controlled-serialization) - - [1.2. Attributes and Reflection](#12-attributes-and-reflection) - - [1.3. Graph of Objects Serialization](#13-graph-of-objects-serialization) -- [2. Self-controlled Serialization Example](#2-self-controlled-serialization-example) -- [3. Reflection-Based Serialization Example](#3-reflection-based-serialization-example) +- [Introduction](#introduction) + - [Self-controlled Serialization](#self-controlled-serialization) + - [Attributes and Reflection](#attributes-and-reflection) + - [Graph of Objects Serialization](#graph-of-objects-serialization) +- [Self-controlled Serialization Example](#self-controlled-serialization-example) +- [Reflection-Based Serialization Example](#reflection-based-serialization-example) -## 1. Introduction +## Introduction From the previous considerations, we know that serialization/deserialization is the transformation process of data wrapped by an object from/to a bitstream form. These operations should be implemented as generic ones. It means that they must not depend on the type of the serialized/deserialized object because they should be offered as a generic library solution to allow multi-time usage against custom types. This process must start with recovering a set of value-holder members constituting the state of an object. Let me stress, that to provide a generic solution, this mechanism must not depend on the object type. @@ -20,7 +20,7 @@ Talking about serialization/deserialization we must answer the question of how t - **self-controlled** - the type exposes functionality that enables reading from and assigning to the type members contributing to the instance state - **attributes and reflection** - metadata added by attributes to select state contributors and reflection that enables reading from and assigning to properties constituting the state -### 1.1. Self-controlled Serialization +### Self-controlled Serialization The first approach, compliant with the above scenario, is to implement access to object state values internally by a custom type. An example of this approach is presented later in this section. It is based on internal reading and assigning operations of the values creating the object's state in compliance with the object type definition. This way, it is possible to avoid the need for employing reflection. Instead, the [ISerializable][iserializable] interface has to be implemented. @@ -41,9 +41,9 @@ The main benefit of this technique is the lack of necessity to additionally dete Using self-controlled determination of a set of values contributing to the object state means splitting the functionality between the type to be subject for serialization/deserialization and library functionality, which is responsible for saving the value of the selected members independently in a bitstream. This solution requires that the type to be serialized must be prepared to read/write values from the members and create a table against an interface that is a kind of contract between both parties responsible for implementing the serialization/deserialization functionality. The main problem is that the type of concern must be prepared against the contract defined by the implemented interface. -Examples illustrating serialization using self-controlled access to values contributing to an object state are described later in the section [Self-controlled Serialization](./READMESerialization.md#2-self-controlled-serialization-example) +Examples illustrating serialization using self-controlled access to values contributing to an object state are described later in the section [Self-controlled Serialization][self-controlled-serialization-example] -### 1.2. Attributes and Reflection +### Attributes and Reflection Instead of using a self-controlled data access approach, the reflection may be employed to read and write values contributing to the object state. This way there is no custom code related to selecting, reading, and writing state values. To select only necessary values the following convention may be applied. It says that the state of the object is constituted by all the values that can be obtained by reading the public properties that have both getter and setter. So from this, you can read the current value and assign new ones. If this convention applies to the target object and all indirectly referenced ones we can state that the graph of objects is ready for serialization and deserialization using reflection. What is very important is to ensure symmetry between serialization and deserialization. This means that using reflection there is no need to add any dedicated functionality to the target class related to serialization and deserialization. It addresses the error-prone self-controlled data access responsibility of a type. @@ -63,9 +63,9 @@ Reflection-based serialization is a technique in software engineering where the Discussing the reflection concept in detail is far beyond the scope of the examples collected here. We also talked about bitstream syntax and semantics using the example of XML files. We showed how to use the XML schema concept to describe details of the syntax and also the semantics of a document indirectly and to create the source code of a program that will be used in the serialization and deserialization process. -Examples illustrating serialization using reflection and attributed programming are described later in the section [Reflection-Based Serialization Example](./READMESerialization.md#3-reflection-based-serialization-example) +Examples illustrating serialization using reflection and attributed programming are described later in the section [Reflection-Based Serialization Example][reflection-based-serialization-example] -### 1.3. Graph of Objects Serialization +### Graph of Objects Serialization Let's move on to the last issue related to the serialization of objects interconnected to each other forming graphs. So the objects have references between them and these references will determine the structure of the graph of objects. In this case, the main challenge is that all the objects must be considered as one whole. @@ -87,7 +87,7 @@ Another issue that should be addressed here is when the serialization process sh In the case of cyclic graphs, there is no restriction on the number of paths between any pair of vertices, and cycles may be present. We may encounter two problems here. Firstly, we have to resolve many-to-one references in this type of graph, when many objects will have references to one object. As a result, we can expect that serializing such a structure may cause the cloning of objects in the stream. During recovery, if all these objects are recreated, many redundant copies are instantiated, so the structure will be different comparing it with the original. In the case of cyclic graphs (contain cycles - closed loops) in the relationship structure, we must take into account the fact that the serialization mechanism (the graph-to-bitstream conversion mechanism) will have to deal with this problem and therefore will have to set a stop condition to avoid cloning objects in the output stream. Well, we have two options to solve this issue. The first option is to write a custom library but this is a complex process. The second approach to address this problem is to choose an appropriate but existing library. There are many such libraries on the market and when analyzing their applicability, you should pay attention to these issues. -## 2. Self-controlled Serialization Example +## Self-controlled Serialization Example To illustrate this scenario, our task now is to implement a library class that enables reading from and assigning to properties defined as a member of a type that is a candidate to be serialized. @@ -111,7 +111,7 @@ To implement deserialization we must create an instance of the type and populate In this approach, the [SelfControlSerialization][SelfControlSerialization] class cannot have a reference to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the [ISerializable][iserializable] interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. -## 3. Reflection-Based Serialization Example +## Reflection-Based Serialization Example It's time to move on to practical acquaintance with selected reflection mechanisms. To get more about reflection based on examples in selected programming language check out the document [Implementation Examples][ie]. These examples show how to represent type features as the [Type][system.type] class instances. The instances can be created using the `typeof` keyword or the `GetType` instance method for objects of unknown type. In both cases, an object-oriented type description is created. The examples discussed show how to use this description to read and write the values of a selected member of a type. This ability is especially useful when implementing serialization and deserialization operations. Similarly, we can also read and write values from fields and call instance methods. Similarly, it is also possible to create a new object without using the `new` keyword. @@ -149,6 +149,9 @@ Thanks to the presented example we may learn how attributed programming and refl Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created while creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. It is assumed that there are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. [ie]: README.md#implementation-examples- +[self-controlled-serialization-example]: READMESerialization.md#self-controlled-serialization-example +[reflection-based-serialization-example]: READMESerialization.md#reflection-based-serialization-example + [system.type]: https://learn.microsoft.com/dotnet/api/system.type [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter From 8aec190f7d835d198a603f54426504b081fb944f Mon Sep 17 00:00:00 2001 From: MPostol Date: Sun, 31 Mar 2024 21:05:10 +0200 Subject: [PATCH 48/67] ExDM Add documentation to the selected parts of the code #369 - working on DataStreams - contributes to mpostol/Publications#109 --- .../DataStreams/DataStreams/READMESerialization.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index 64f21a5d..a5e366b7 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -109,7 +109,7 @@ It is worth emphasizing that in our example we only write `double` values and it To implement deserialization we must create an instance of the type and populate value holders to initialize the object state. To implement this responsibility, the dedicated [SelfControlSerialization][SelfControlSerializationConstructor] constructor must be provided. -In this approach, the [SelfControlSerialization][SelfControlSerialization] class cannot have a reference to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the [ISerializable][iserializable] interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. +In this approach, the [CustomFormatter][CustomFormatter] class cannot have a reference to the definition of a target type that is subject to the serialization process. The object that is subject to the serialization process can be of any type but it must implement the [ISerializable][iserializable] interface and therefore must provide an implementation of the `GetObjectData` operation method. Because the target type is invisible, it can be recognized as a typical scenario where the dependency injection design pattern is required. ## Reflection-Based Serialization Example @@ -118,6 +118,7 @@ It's time to move on to practical acquaintance with selected reflection mechanis This example explains how to serialize using reflection and attributed programming. Examples collected in this section are dedicated to demonstrating how to deal with the presented above scenario. It defines a few helper functions, for serialization and deserialization located in the static [XmlFile][XmlFile] class. The `ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation` folder contains classes that represent the XML schema used by the program as an object model of the working data. An example of reflection-based data values access is the [Catalog][Catalog] class, which contains an array of CD descriptions. So here we have property, which is an array containing CD descriptions consistent with the [CatalogCD][CatalogCD] class defined in the same file. + Classes to be serialized were defined in the test project. Therefore, if we define a library that will be used to serialize these classes, this graph, then the serializing class cannot know the type of serialized classes, cannot have references to unit tests, and so it cannot know the types. This way it could be proved that the solution is generic, I mean it doesn't depend on the definition of serialized classes. As we see in this example, we do not have to create custom code in the target type that is to be subject to serialization and used to implement this responsibility. So we can say that in this case, the serialization process is exactly autonomous. From 95ba67f51a04c06308717b4302a7d4063ece108f Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 11:45:43 +0200 Subject: [PATCH 49/67] ExDM - publish the documentation for DataStreams #379 - Remove the table of contents from all relevant documents --- .../DataStreams.UnitTest/README.md | 2 +- .../DataStreams/DataStreams/README.md | 28 ++------------- .../DataStreams/READMECryptography.md | 21 ++--------- .../DataStreams/READMESerialization.md | 24 +++++++------ ExDataManagement/DataStreams/README.md | 35 +------------------ ExDataManagement/README.md | 12 +------ 6 files changed, 21 insertions(+), 101 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md index 93d899b4..0e092091 100644 --- a/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md +++ b/ExDataManagement/DataStreams/DataStreams.UnitTest/README.md @@ -1,7 +1,7 @@ -# Implementation Examples - -## Table of Content - -- [Key words](#key-words) -- [Streaming Data Preface](#streaming-data-preface) -- [File and Stream Concepts](#file-and-stream-concepts) - - [Operating System Context](#operating-system-context) - - [Program Context](#program-context) - - [File Class](#file-class) - - [Stream class](#stream-class) - - [XML-based Presentation](#xml-based-presentation) - - [XML-based Validation](#xml-based-validation) - - [XML-based Classes Generation](#xml-based-classes-generation) -- [Attributes](#attributes) - - [Introduction](#introduction) - - [Profiling Development Environment](#profiling-development-environment) - - [Attribute Definition](#attribute-definition) - - [Attribute Use Based Directly on Type Definition](#attribute-use-based-directly-on-type-definition) - - [Attribute Use Based Indirectly on Type Instance](#attribute-use-based-indirectly-on-type-instance) - - [Summary](#summary) -- [Reflection](#reflection) - - [Preface](#preface) - - [Example](#example) -- [See Also](#see-also) +# Implementation Examples ## Key words -Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, Serialization, Validation,Visualization +Bitstream, File, File System, XML, XSLT, HTML, XmlSerializer, Save file, Transformation, Saving text files, Local File Systems, Open and read file, XML Schema, Common File Format, Data Access, Serialization, Validation, Visualization ## Streaming Data Preface diff --git a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md index 9281e57a..6928eecc 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md @@ -1,7 +1,7 @@ -# Bitstream Cybersecurity - -- [1. Introduction](#1-introduction) -- [2. Hash Function](#2-hash-function) - - [2.1. Fundamentals](#21-fundamentals) - - [2.2. Example](#22-example) -- [3. Encryption](#3-encryption) - - [3.1. Fundamentals](#31-fundamentals) - - [3.2. Symmetric Cryptography Example](#32-symmetric-cryptography-example) - - [3.3. Conclusion](#33-conclusion) -- [4. Non-repudiation](#4-non-repudiation) - - [4.1. Fundamentals](#41-fundamentals) - - [4.2. Compliance with Domain-specific Language](#42-compliance-with-domain-specific-language) - - [4.3. Signing Process](#43-signing-process) - - [4.4. Creation of Keys Example](#44-creation-of-keys-example) - - [4.5. XML Document Signing Example](#45-xml-document-signing-example) - - [4.6. Conclusion](#46-conclusion) -- [5. See Also](#5-see-also) +# Bitstream Cybersecurity ## 1. Introduction diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index a5e366b7..f5f3ac51 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -1,13 +1,17 @@ -# Objects Serialization - -## Table of Content - -- [Introduction](#introduction) - - [Self-controlled Serialization](#self-controlled-serialization) - - [Attributes and Reflection](#attributes-and-reflection) - - [Graph of Objects Serialization](#graph-of-objects-serialization) -- [Self-controlled Serialization Example](#self-controlled-serialization-example) -- [Reflection-Based Serialization Example](#reflection-based-serialization-example) + + +# Objects Serialization ## Introduction diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 49974c91..74b03da9 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -11,40 +11,7 @@ //_____________________________________________________________________________________________________________________________________ --> -# Data Streams - -## Table of Content - -- [Introduction](#introduction) -- [File and Stream Concepts Preface](#file-and-stream-concepts-preface) -- [Useful Concepts for Bitstreams Deployment](#useful-concepts-for-bitstreams-deployment) - - [Introduction](#introduction-1) - - [Presentation](#presentation) - - [Validation](#validation) - - [Standardization](#standardization) - - [Serialization](#serialization) - - [Cybersecurity](#cybersecurity) - - [Introduction](#introduction-2) - - [Hash](#hash) - - [Encryption](#encryption) - - [Non-repudiation](#non-repudiation) -- [BitStream Format](#bitstream-format) - - [Domain Specific Language (DSL)](#domain-specific-language-dsl) - - [Extensible Markup Language (XML) Format](#extensible-markup-language-xml-format) - - [Introduction](#introduction-3) - - [Visualization](#visualization) - - [Validation](#validation-1) - - [Standardization](#standardization-1) - - [JavaScript Object Notation (JSON)](#javascript-object-notation-json) - - [Introduction](#introduction-4) - - [Visualization](#visualization-1) - - [Validation](#validation-2) - - [Standardization](#standardization-2) - - [Yet Another Markup Language (YAML)](#yet-another-markup-language-yaml) - - [Introduction](#introduction-5) - - [Visualization](#visualization-2) - - [Validation](#validation-3) -- [See Also](#see-also) +# Data Streams ## Introduction diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index 2d48706b..20d6d7ac 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -11,17 +11,7 @@ //_____________________________________________________________________________________________________________________________________ --> -# External Data Management (ExDM) - -## Table of Content - -- [Key words](#key-words) -- [Introduction](#introduction) -- [External Data](#external-data) - - [Preface](#preface) - - [Data Management and Access](#data-management-and-access) -- [Conclusion](#conclusion) -- [See also](#see-also) +# External Data Management (ExDM) ## Key words From e4bb3a7a6cad660e6da45bcd635254dd57c4f227 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 15:31:51 +0200 Subject: [PATCH 50/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/DataStreams/README.md | 16 +++------------- ExDataManagement/README.md | 11 +---------- REFERENCES.md | 18 ++++++++++++------ SUMMARY.md | 12 +++++++----- 4 files changed, 23 insertions(+), 34 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 74b03da9..bcd30765 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -271,15 +271,7 @@ In essence, you can create a new language by establishing a set of guidelines fo ## See Also -- [XSL\(T\) Languages][XSLW3C] -- [Serialization in .NET][STLZTN] -- [XML Schema Definition Tool (Xsd.exe)][XSD] -- [Type Class][system.type] -- [Implementation Examples][ie] -- [Objects Serialization][ies] -- [ISO/IEC 21778; International Standard; Information technology — The JSON data interchange syntax][ISOJSON] -- [The JavaScript Object Notation (JSON) Data Interchange Format][RFCJSON]; Request for Comments:7159; 2020-01-21 -- [JSON Schema][CommunityJSON] +- [References](..\REFERENCES.md#references) [CommunityJSON]: https://json-schema.org/specification#specification [ISOJSON]: https://www.iso.org/standard/71616.html @@ -288,10 +280,8 @@ In essence, you can create a new language by establishing a set of guidelines fo [XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp [XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx -[system.type]: https://learn.microsoft.com/dotnet/api/system.type -[ie]: DataStreams/README.md -[ies]: DataStreams/READMESerilization.md -[READMECryptography]: DataStreams/READMECryptography.md +[ies]: DataStreams/READMESerialization.md#objects-serialization +[READMECryptography]: DataStreams/READMECryptography.md#bitstream-cybersecurity [xmlpresentation]: DataStreams/README.md#xml-based-presentation [xml-based-validation]: DataStreams/README.md#xml-based-validation diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index 20d6d7ac..e3f00ed4 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -69,13 +69,4 @@ This section and subsections address examples of practical scenarios regarding v ## See also -- [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; The course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. -- [Programming in Practice; GitBook eBook](https://mpostol.gitbook.io/pip/) - The content of this eBook is auto-generated using the markdown files collected in this repository. It is distributed online upon the open access rules. -- [Discussion panel][Discussion] -- [Postół. M, Programming Technologies 2021; Recorded lectures](https://youtube.com/playlist?list=PLC7zPvgw-YbyWXRTAe9m-ABP9YWmpLvUk) -- [Postół. M, Programming Technologies 2020; Recorded lectures](https://youtube.com/playlist?list=PLC7zPvgw-YbwOD3GaSPl6kzKhDRmmrA-9) -- [Postol. M, profile on Udemy.com][MPUdemy] - -[Discussion]: https://github.com/mpostol/TP/discussions -[MPUdemy]: https://www.udemy.com/user/mariusz-postol/ -[udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 +- [References](..\REFERENCES.md#references) diff --git a/REFERENCES.md b/REFERENCES.md index e748145c..c4011149 100644 --- a/REFERENCES.md +++ b/REFERENCES.md @@ -5,20 +5,26 @@ - [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] - Information Computation means a process engaging a computer (a physical device) to process information as a series of actions or steps taken to achieve a particular result or help to fulfill a task. The main challenge is that information is abstract. Precisely speaking, it is a kind of knowledge that cannot be processed directly by any physical device. Generally speaking, To resolve this inconsistency two main topics are covered. The first one refers to selected aspects of information modeling using types as descendants of a coding system. The second one covers program architecture design patterns to improve the design and deployment of the computer behavior description using a program implementing an algorithm. - [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; This free course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. - [Programming in Practice, Video Playlist of courses description on Youtube, 2023](https://www.youtube.com/playlist?list=PLC7zPvgw-Ybwya54i262_RfG5tEp2FSIt) -- [Postol. M, profile on Udemy.com][MPUdemy] +- [Postół. M, Object-Oriented Internet](https://youtube.com/playlist?list=PLC7zPvgw-YbyWss-0j_waddacgroLFTzi) This playlist on YouTube addresses research results on the systematic approach to the design of the meaningful Machine to Machine (M2M) communication targeting distributed mobile applications in the context of new emerging disciplines, i.e. Industry 4.0 and Internet of Things. - [Programming in Practice; GitBook eBook](https://mpostol.gitbook.io/pip/) - The content of this eBook is auto-generated using the Markdown files collected in this repository. It is distributed online upon the open access rules. -- [Discussion panel][Discussion] +- [GitHub repository mpostol/TP][TP] - C# in Practice - set of C# examples targeting education purpose +- [Discussion panel on mpostol/TP][Discussion] + +## How to reach me + +- [Postol. M, profile on Udemy.com][MPUdemy] - [Postol. M, profile on GitHub.com][MPGitHub] -- [Postół. M, Programming Technologies, 2021; playlist - recorded lectures](https://youtube.com/playlist?list=PLC7zPvgw-YbyWXRTAe9m-ABP9YWmpLvUk) -- [Postół. M, Programming Technologies, 2020; playlist - recorded lectures](https://youtube.com/playlist?list=PLC7zPvgw-YbwOD3GaSPl6kzKhDRmmrA-9) -- [Postół. M, Object-Oriented Internet](https://youtube.com/playlist?list=PLC7zPvgw-YbyWss-0j_waddacgroLFTzi) This playlist on YouTube addresses research results on the systematic approach to the design of the meaningful Machine to Machine (M2M) communication targeting distributed mobile applications in the context of new emerging disciplines, i.e. Industry 4.0 and Internet of Things. +- [Postół. M, profile on LinkedIn](https://pl.linkedin.com/in/mpostol) +- [MPostol M, profile on ResearchGate](https://www.researchgate.net/profile/Mariusz-Postol) +- [MPostol M, profile on ORCID](https://orcid.org/0000-0002-9669-0565) - [Postół. M, Język C# w praktyce. Kurs video. Przetwarzanie danych zewnętrznych][vdpnt]; 2019, Helion (in polish). -- [Join me on LinkedIn](https://pl.linkedin.com/in/mpostol) [MPUdemy]:https://www.udemy.com/user/mariusz-postol/ [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 [MPGitHub]:https://github.com/mpostol + +[TP]: https://github.com/mpostol/TP [Discussion]: https://github.com/mpostol/TP/discussions [vdpnt]: https://videopoint.pl/kurs/jezyk-c-w-praktyce-kurs-video-przetwarzanie-danych-zewnetrznych-mariusz-postol,vjcprv.htm#format/w diff --git a/SUMMARY.md b/SUMMARY.md index a4eb6edb..827cab73 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -1,4 +1,4 @@ -# Summary +# Executive Summary * [Programming in Practice](README.md) * [References](REFERENCES.md) @@ -28,12 +28,14 @@ ## External Data Management * [Executive Summary](ExDataManagement/README.md) + +* [Data Streams Preface](ExDataManagement/DataStreams/README.md#data-streams) + * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md#implementation-examples) + * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md#objects-serialization) + * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md#bitstream-cybersecurity) * [Functional Programming Preface](ExDataManagement/FunctionalProgramming/README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) From 24f3f53f6a14019ca2e0610d6ae791fea03d32af Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 15:39:01 +0200 Subject: [PATCH 51/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index e3f00ed4..d50a08d8 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -69,4 +69,4 @@ This section and subsections address examples of practical scenarios regarding v ## See also -- [References](..\REFERENCES.md#references) +- [References](../REFERENCES.md#references) From 32c0b82565b93ff6b0bd3caf8f9bdb16f33841ee Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 16:25:43 +0200 Subject: [PATCH 52/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/DataStreams/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index bcd30765..570c3dc8 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -104,7 +104,7 @@ We also said earlier that sometimes these bitstreams are also used to communicat From the previous considerations regarding the transformation of object data into streaming data, we know that the basis of this process is to determine the state of the object. Let me remind you that the state of an object is a set of values that must be subject to a transformation process so that the reverse operation can be performed in the future, i.e., so that the object graph can be recreated and an equivalent object graph can be created. -In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Objects Serialization Implementation Examples][ies]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is the responsibility of program authors, there must be measures allowing them to point out what has to be serialized. +In order not to enter into purely theoretical considerations, let us return to these topics in the context of sample programs. The examples are described in the document titled [Objects Serialization][objects-serialization]. The example discussed shows the mechanism of transformation of an object or more precisely an object state to a bitstream. In this process, the state of the object is determined by a software developer, which implements an appropriate mechanism responsible for selecting the values that constitute the object state. Since the determination of an object state is the responsibility of program authors, there must be measures allowing them to point out what has to be serialized. To implement a serialization/deserialization engine, you need to define a data structure, choose a serialization format (like custom, JSON, XML, etc.), and use a serialization library to convert the data wrapped by a graph of objects into the selected format in both directions. The data structure is required to determine the state of objects that are subject to serialization. Apart from the data structure a guidelines allowing to select only values constituting the state of the object are necessary. To fulfill the mentioned requirements access to the value holders that constitute the state of the object is also required. Attributes as a language construct at design-time and reflection as a technology at run-time could help to solve some problems related to serialization/deserialization implementation. @@ -271,7 +271,7 @@ In essence, you can create a new language by establishing a set of guidelines fo ## See Also -- [References](..\REFERENCES.md#references) +- [References](../REFERENCES.md#references) [CommunityJSON]: https://json-schema.org/specification#specification [ISOJSON]: https://www.iso.org/standard/71616.html @@ -281,7 +281,7 @@ In essence, you can create a new language by establishing a set of guidelines fo [XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx -[ies]: DataStreams/READMESerialization.md#objects-serialization +[objects-serialization]: DataStreams/READMESerialization.md#objects-serialization [READMECryptography]: DataStreams/READMECryptography.md#bitstream-cybersecurity [xmlpresentation]: DataStreams/README.md#xml-based-presentation [xml-based-validation]: DataStreams/README.md#xml-based-validation From 59eeab03eeba82c223348eac4c8d39ef0ac14421 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 16:32:08 +0200 Subject: [PATCH 53/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExDataManagement/README.md b/ExDataManagement/README.md index d50a08d8..7ebd4fc6 100644 --- a/ExDataManagement/README.md +++ b/ExDataManagement/README.md @@ -69,4 +69,4 @@ This section and subsections address examples of practical scenarios regarding v ## See also -- [References](../REFERENCES.md#references) +- [References](./../REFERENCES.md#references) From 12cf2b068ec1a5f75dc88c50d4565292abeab75b Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 16:34:39 +0200 Subject: [PATCH 54/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/DataStreams/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ExDataManagement/DataStreams/README.md b/ExDataManagement/DataStreams/README.md index 570c3dc8..aa28b715 100644 --- a/ExDataManagement/DataStreams/README.md +++ b/ExDataManagement/DataStreams/README.md @@ -271,7 +271,7 @@ In essence, you can create a new language by establishing a set of guidelines fo ## See Also -- [References](../REFERENCES.md#references) +- [References](./../../REFERENCES.md#references) [CommunityJSON]: https://json-schema.org/specification#specification [ISOJSON]: https://www.iso.org/standard/71616.html From 35285b81c23b5788d3bb3e5b06e101b78f64240e Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 16:45:14 +0200 Subject: [PATCH 55/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/DataStreams/DataStreams/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index eb3b1b90..d9956697 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -276,13 +276,14 @@ The functionality enabling the possibility to get access to a selected property ## See Also +- [References](./../../REFERENCES.md#references) - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] -[XSLW3C]: (https://www.w3schools.com/xml/xsl_languages.asp) -[XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) -[STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) +[XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp +[XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx +[STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type [system.attribute]: https://learn.microsoft.com/dotnet/api/system.attribute [AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute From a5795b508a76eace1e62c76e6a54bf0251b632f5 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 16:52:00 +0200 Subject: [PATCH 56/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/DataStreams/DataStreams/README.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index d9956697..b30aea18 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -276,11 +276,13 @@ The functionality enabling the possibility to get access to a selected property ## See Also -- [References](./../../REFERENCES.md#references) +- [References](./../../../REFERENCES.md#references) - [XSL\(T\) Languages][XSLW3C] - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] +https://github.com/mpostol/TP/blob/ExDMUdemy/ExDataManagement/REFERENCES.md#references + [XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp [XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx @@ -317,4 +319,8 @@ The functionality enabling the possibility to get access to a selected property [Object]: https://learn.microsoft.com/dotnet/api/system.object [FileStreamUnitTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs#L19-L33 +[Open]: FileAndStream/FileExample.cs#L24-L29 + + \ No newline at end of file From 3c3d35bf663320769bce80465bbc81db66dbf7b4 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 17:02:00 +0200 Subject: [PATCH 57/67] ExDM - publish the documentation for DataStreams #379 - Review links --- .../DataStreams/DataStreams/README.md | 52 +++++++------------ 1 file changed, 20 insertions(+), 32 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index b30aea18..a04788f1 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -281,46 +281,34 @@ The functionality enabling the possibility to get access to a selected property - [Serialization in .NET][STLZTN] - [XML Schema Definition Tool (Xsd.exe)][XSD] -https://github.com/mpostol/TP/blob/ExDMUdemy/ExDataManagement/REFERENCES.md#references - [XSLW3C]: https://www.w3schools.com/xml/xsl_languages.asp [XSD]: http://msdn.microsoft.com/library/x6c1kb0s.aspx [STLZTN]: http://msdn.microsoft.com/library/7ay27kt9.aspx [system.type]: https://learn.microsoft.com/dotnet/api/system.type [system.attribute]: https://learn.microsoft.com/dotnet/api/system.attribute [AttributeUsage]: https://learn.microsoft.com/dotnet/api/system.attributeusageattribute +[Object]: https://learn.microsoft.com/dotnet/api/system.object [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 -[FileExample]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/FileAndStream/FileExample.cs#L19-L32 - -[AttachedProperty]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Reflection/AttachedProperty.cs#L17-L46 - -[AttributedClass]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L17-L24 -[CustomAttribute]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Reflection/AttributedClass.cs#L27 - -[AttributedClassInstanceTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 -[AttachedPropertyTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 -[ObjectFactory]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 -[AttributedClassTypeTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 -[Siyova16]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 -[typeof]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L41 -[CustomAttributeTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 -[GoTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/ReflectionUnitTest.cs#L103 - -[Catalog]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 -[Catalog.cs]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 -[IStylesheetNameProvider]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/IStylesheetNameProvider.cs#L17-L23 - -[GoCS]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 - -[catalogexamplexml]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 - -[Object]: https://learn.microsoft.com/dotnet/api/system.object -[FileStreamUnitTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/FileStreamUnitTest.cs#L19-L33 +[FileExample]: FileAndStream/FileExample.cs#L19-L32 +[AttachedProperty]: Reflection/AttachedProperty.cs#L17-L46 +[AttributedClass]: Reflection/AttributedClass.cs#L17-L24 +[CustomAttribute]: Reflection/AttributedClass.cs#L27 +[IStylesheetNameProvider]: Serialization/IStylesheetNameProvider.cs#L17-L23 [Open]: FileAndStream/FileExample.cs#L24-L29 - \ No newline at end of file +[AttributedClassInstanceTest]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L46-L55 +[AttachedPropertyTest]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L57-L68 +[ObjectFactory]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L81-L101 +[AttributedClassTypeTest]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L39-L43 +[Siyova16]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L73-L79 +[typeof]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L41 +[CustomAttributeTest]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L24-L29 +[GoTest]: ../DataStreams.UnitTest/ReflectionUnitTest.cs#L103 +[Catalog]: ../DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +[Catalog.cs]: ../DataStreams.UnitTest/Instrumentation/Catalog.cs#L18-L120 +[ReadWRiteTest]: ../DataStreams.UnitTest/SerializationUnitTest.cs#L42-L57 +[GoCS]: ../DataStreams.UnitTest/Instrumentation/GoCS.cmd#L1-L2 +[catalogexamplexml]: ../DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[FileStreamUnitTest]: ../DataStreams.UnitTest/FileStreamUnitTest.cs#L19-L33 From c2b5175cff4850c2f3a6a53b1334938438f41455 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 17:21:00 +0200 Subject: [PATCH 58/67] ExDM - publish the documentation for DataStreams #379 - Review links --- .../DataStreams/DataStreams/README.md | 2 +- .../DataStreams/READMECryptography.md | 60 +++++++------------ REFERENCES.md | 11 ++++ 3 files changed, 32 insertions(+), 41 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/README.md b/ExDataManagement/DataStreams/DataStreams/README.md index a04788f1..d9ec7ced 100644 --- a/ExDataManagement/DataStreams/DataStreams/README.md +++ b/ExDataManagement/DataStreams/DataStreams/README.md @@ -291,7 +291,7 @@ The functionality enabling the possibility to get access to a selected property [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 -[FileExample]: FileAndStream/FileExample.cs#L19-L32 +[FileExample]: FileAndStream/FileExample.cs#L19-L30 [AttachedProperty]: Reflection/AttachedProperty.cs#L17-L46 [AttributedClass]: Reflection/AttributedClass.cs#L17-L24 [CustomAttribute]: Reflection/AttributedClass.cs#L27 diff --git a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md index 6928eecc..e0e53176 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md @@ -155,20 +155,10 @@ In this part, we move on to asymmetric encryption. Precisely, not the encryption ## 5. See Also -- Postol Mariusz; [Cybersecurity of External Streaming Data - Confidentiality][confidentiality] C# Corner, 2024. -- Postol Mariusz; [Cybersecurity of External Streaming Data - Integrity][CI] C# Corner, 2024. -- Postol Mariusz; [External Data Management (ExDM)][ExDM]; C# Corner, 2024 -- Postol Mariusz; [External Data - File and Stream Concepts][FileStream]; C# Corner, 2023 -- Postol Mariusz; [External Data - Attributes - Profiling Data Access][Attributes]; C# Corner, 2024 +- [References](./../../../REFERENCES.md#references) - [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] - Information Computation means a process engaging a computer (a physical device) to process information as a series of actions or steps taken to achieve a particular result or help fulfill a task. The main challenge is that information is abstract. Precisely speaking, it is a kind of knowledge that cannot be processed directly by any physical device. Generally speaking, To resolve this inconsistency two main topics are covered. The first one refers to selected aspects of information modeling using types as descendants of a coding system. The second one covers program architecture design patterns to improve the design and deployment of the computer behavior description using a program implementing an algorithm. - [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; The course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. - [Programming in Practice; GitBook eBook](https://mpostol.gitbook.io/pip/) - The content of this eBook is auto-generated using the Markdown files collected in this repository. It is distributed online upon the open access rules. -- [Programming in Practice - GitHub repository][TPGitHub] -- [Discussion panel][Discussion] -- [Postol. M, profile on Udemy.com][MPUdemy] -- [Postol. M, profile on GitHub.com][MPGitHub] -- Join me on [LinkedIn][MPLinkedIn] -- Join me on [ORCID.org][orcid.org] - Connect to [Programming in Practice Education LinkedIn Group][LinkedInPiP] - [Generic implementation of the Blockchain agent in .NET][NBlockchain] - [XSL\(T\) Languages][XSLW3C] @@ -178,20 +168,10 @@ In this part, we move on to asymmetric encryption. Precisely, not the encryption - [Dependency Injection][DI] - [XML Signature Syntax and Processing Version 1.1][XMLS]; W3C Recommendation; 11 April 2013 -[CI]: https://www.c-sharpcorner.com/article/cybersecurity-of-external-streaming-data-integrity/ -[confidentiality]: https://www.c-sharpcorner.com/article/cybersecurity-of-external-streaming-data-confidentiality/ -[ExDM]: https://www.c-sharpcorner.com/blogs/external-data-management-exdm -[FileStream]: https://www.c-sharpcorner.com/article/external-data-file-and-stream-concepts -[Attributes]: https://www.c-sharpcorner.com/article/external-data-attributes-profiling-data-access/ + [NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 -[TPGitHub]: https://github.com/mpostol/TP -[Discussion]: https://github.com/mpostol/TP/discussions -[orcid.org]: https://orcid.org/0000-0002-9669-0565 -[MPLinkedIn]: https://pl.linkedin.com/in/mpostol -[MPUdemy]: https://www.udemy.com/user/mariusz-postol/ -[MPGitHub]: https://github.com/mpostol [LinkedInPiP]: https://www.linkedin.com/groups/7478959/ [XMLS]: https://www.w3.org/TR/xmldsig-core1/ @@ -200,21 +180,21 @@ In this part, we move on to asymmetric encryption. Precisely, not the encryption [XSD]: (http://msdn.microsoft.com/library/x6c1kb0s.aspx) [STLZTN]: (http://msdn.microsoft.com/library/7ay27kt9.aspx) - -[CalculateSHA256]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L23-L31 - - -[EncryptDecryptDataTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 -[DecryptData]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L62-L86 -[CryptographyHelpersUnitTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 -[EncryptData]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L33-L60 - -[SignSaveXml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L111-L146 -[XmlSignatureTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 -[CreateRSACryptoServiceKeysTest]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 -[CreateRSACryptoServiceKeys]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L88-L101 -[PubliPrivateKeys]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 -[PubliKey]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 -[catalog]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 -[LoadVerifyXml]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams/Cryptography/CryptographyHelpers.cs#L161-L195 -[SignedXmlFile]: https://github.com/mpostol/TP/blob/a746ad26c7bf5c288efee7988eaffbb3810dfaec/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 + +[CalculateSHA256]: Cryptography/CryptographyHelpers.cs#L23-L31 +[LoadVerifyXml]: Cryptography/CryptographyHelpers.cs#L161-L195 +[DecryptData]: Cryptography/CryptographyHelpers.cs#L62-L86 +[EncryptData]: Cryptography/CryptographyHelpers.cs#L33-L60 +[CreateRSACryptoServiceKeys]: Cryptography/CryptographyHelpers.cs#L88-L101 +[SignSaveXml]: Cryptography/CryptographyHelpers.cs#L111-L146 + + +[EncryptDecryptDataTest]: ../DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L49-L76 +[CryptographyHelpersUnitTest]: ../DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L23-L140 +[XmlSignatureTest]: ../DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L91-L118 +[CreateRSACryptoServiceKeysTest]: ../DataStreams.UnitTest/CryptographyHelpersUnitTest.cs#L79-L87 +[PubliPrivateKeys]: ../DataStreams.UnitTest/Instrumentation/PubliPrivateKeys.xml#L1-L11 +[PubliKey]: ../DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 +[catalog]: ../DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 +[SignedXmlFile]: ../DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 + diff --git a/REFERENCES.md b/REFERENCES.md index c4011149..1fe32536 100644 --- a/REFERENCES.md +++ b/REFERENCES.md @@ -2,6 +2,11 @@ ## Programming in Practice +- Postol Mariusz; [Cybersecurity of External Streaming Data - Confidentiality][confidentiality] C# Corner, 2024. +- Postol Mariusz; [Cybersecurity of External Streaming Data - Integrity][CI] C# Corner, 2024. +- Postol Mariusz; [External Data Management (ExDM)][ExDM]; C# Corner, 2024 +- Postol Mariusz; [External Data - File and Stream Concepts][FileStream]; C# Corner, 2023 +- Postol Mariusz; [External Data - Attributes - Profiling Data Access][Attributes]; C# Corner, 2024 - [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] - Information Computation means a process engaging a computer (a physical device) to process information as a series of actions or steps taken to achieve a particular result or help to fulfill a task. The main challenge is that information is abstract. Precisely speaking, it is a kind of knowledge that cannot be processed directly by any physical device. Generally speaking, To resolve this inconsistency two main topics are covered. The first one refers to selected aspects of information modeling using types as descendants of a coding system. The second one covers program architecture design patterns to improve the design and deployment of the computer behavior description using a program implementing an algorithm. - [Programming in Practice - Executive Summary; Udemy course; 2021][udemyPiPES]; This free course explains the role of this repository as the extended examples storage that is a foundation for the Programming in Practice paradigm. The course is for all serious about the improvement of the software development skills education methodology. - [Programming in Practice, Video Playlist of courses description on Youtube, 2023](https://www.youtube.com/playlist?list=PLC7zPvgw-Ybwya54i262_RfG5tEp2FSIt) @@ -10,6 +15,12 @@ - [GitHub repository mpostol/TP][TP] - C# in Practice - set of C# examples targeting education purpose - [Discussion panel on mpostol/TP][Discussion] +[CI]: https://www.c-sharpcorner.com/article/cybersecurity-of-external-streaming-data-integrity/ +[confidentiality]: https://www.c-sharpcorner.com/article/cybersecurity-of-external-streaming-data-confidentiality/ +[ExDM]: https://www.c-sharpcorner.com/blogs/external-data-management-exdm +[FileStream]: https://www.c-sharpcorner.com/article/external-data-file-and-stream-concepts +[Attributes]: https://www.c-sharpcorner.com/article/external-data-attributes-profiling-data-access/ + ## How to reach me - [Postol. M, profile on Udemy.com][MPUdemy] From 95b1a6aa9efbafca9e6919c870bf3e9256002d25 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 17:36:36 +0200 Subject: [PATCH 59/67] ExDM - publish the documentation for DataStreams #379 - Review links --- .../DataStreams/READMECryptography.md | 39 +++++++++---------- .../DataStreams/READMESerialization.md | 26 +++++++------ 2 files changed, 34 insertions(+), 31 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md index e0e53176..4a72d89c 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md @@ -13,7 +13,7 @@ # Bitstream Cybersecurity -## 1. Introduction +## Introduction In the context of the cybersecurity of bitstreams implementation let me remind you of the following requirements we have: @@ -23,19 +23,19 @@ In the context of the cybersecurity of bitstreams implementation let me remind y The following chapters provide more detailed descriptions of examples related to the implementation of these requirements. These requirements are implemented by applying the following cybersecurity concepts hash, encryption, and non-repudiation. -## 2. Hash Function +## Hash Function -### 2.1. Fundamentals +### Fundamentals Let's move on to the first option for securing streams: the hash function. It is a function that transforms the input bitstream to calculate another fixed-size unique bitstream. A collision in a hash function occurs when two different inputs produce the same hash value as output. The next feature of the received output bitstream is that the reverse transformation, i.e. recovering the source bitstream is practically impossible. One way to use such a function is to associate this hash value with the bitstream we want to protect. Then the hash value can be used to check whether the bitstream has not been modified in the meantime by calculating this function again and comparing the result with the associated hash value with the source bitstream if the expanded bitstream is archived or sent from one place to another. A certain drawback of this solution is that the algorithms for these functions are widely known, so if a "man in the middle" wants to modify the source bitstream, they can modify the source bitstream and recalculate a new value of the hash function for the previously modified bitstream. Anyway, there are a few scenarios where this approach makes sense. Well, for example, the value of the hash function may be entered into the next bitstream called block, and a chain protection is created. The next block, which is also a bitstream, containing this hash value and pointing to the previous block means that we cannot modify the previous block because the value of the hash function is stored in the next one. This type of chain security is called blockchain and is used widely to protect against double-spending on crypto-currencies, for example, Bitcoin (fig below). -![Blockchain](.Media/Blockchain.png) +![Blockchain](../.Media/Blockchain.png) Blockchain security helps ensure that if someone wants to modify one of the blocks in the chain, they must modify all the blocks that have been attached to that chain later. Of course, this is still possible, so further safeguards are needed. Among other things, the growth rate of this chain, i.e. the speed of adding subsequent blocks to the chain, is greater than the possibility of modifying fragments of the chain. This topic is far beyond the scope of this document, but if you are interested in getting more I encourage you to check out a dedicated GitHub repository [NBlockchain][NBlockchain]. There is a practical example of how to implement such a chain. -### 2.2. Example +### Example So let's see how the hash function works and how it can be used in practice. In the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class, two unit tests have been prepared. They use the [CalculateSHA256][CalculateSHA256] method defined in the library. It is worth emphasizing once again that the argument of a hash function is always a bitstream. But obviously, the hash function may also be used for text, namely a bitstream for which an encoding has been defined. In the `CalculateSHA256Test` method, we have to protect a password. It is a string of random characters. Password may be associated with syntax and semantics to make it easier to remember but, fortunately, these syntax and semantics rules have no impact on the hash calculation. In this method, instead of a bitstream, we have a stream of characters compliant with the string type. The Alt+F12 key will take us to the definition of the [CalculateSHA256][CalculateSHA256] method. The input parameter of this method is a sequence of characters of the `string` type, but the hash function operates on an array of bytes, therefore we must transform this string of characters into a string of bytes. To do this, we need to have associated an encoding. In the case of the method under consideration, this is `UTF8`. This is the first yellow light that should light up because everyone who will use the result of the hash function to check the correctness of the input string must use the same encoding format (UTF8 in this case). If someone uses a different encoding, the hash function cannot necessarily be used to check the consistency of the input text. To be able to calculate the hash function in the [CalculateSHA256][CalculateSHA256] method, we need to create an object of the `SHA256Managed` class available in the language library. Since it implements `IDisposable`, I used the using statement. @@ -51,13 +51,13 @@ a bitstream generated by the hash function is converted into two text forms. The In unit tests methods, we have two assertions, which compare the result returned by hash calculation methods with defined hard-coded text. If the encoding changes when converting the input string of characters and when the implementation of the conversion to hexadecimal text or `Base64` changes, we can expect that these assertions and invariants will not be true and the test will end with an error. And we also have to consider this as another yellow flag that has to be raised. In other words, the use of a string, although convenient, unfortunately, has the consequence that this conversion from a bitstream to text compliant with the string type does not always have to be the same and may change over time. So why use it; someone may ask. In that case, wouldn't it be better for us to base it on a sequence of bytes? Well, we cannot always attach such a sequence of bits to the text; if it is e-mail, for example, then the email system has strictly defined characters that it can use to control data flow. Hence, it has to be taken into consideration the fact that attaching such a raw bitstream could have invalid characters causing problems with the correct operation of the email system. Therefore, conversion to text is sometimes necessary, but you need to remember these caveats. -## 3. Encryption +## Encryption -### 3.1. Fundamentals +### Fundamentals Encryption is a reversible bitstream transformation function into another bitstream. The transformation or scrambling function rearranges or modifies the order of bits in a bitstream. This function is designed to introduce complexity and randomness into the data, making it difficult for unauthorized parties to interpret or understand without the appropriate decryption process. The goal is to enhance the security of the information being transmitted or stored. After encryption, the encoding, syntax, and semantics rules no longer apply to an output bitstream. So, as a consequence, no information can be associated with the obtained this way bitstream. The diagram below shows how it works. -![fig. encryption](.Media/encryption.png) +![Encryption](../.Media/encryption.png) The result of this encryption function (`Fe`) depends on the `K1` key. The `K1` key is also a bitstream. The disadvantage of this solution is that the resulting bitstream is always the same because the `Fe` is a function. This is easily fixed after adding a few randomly generated bytes to the input stream; the so-called nonce. Thanks to this, the result will be different each time even if the key `K1` is the same. This approach protects against the possibility of repetition, i.e. using the same bitstream even without understanding its meaning. To perform the reverse operation, i.e. restore the source bitstream that was originally encrypted, a decryption operation must be performed. For this, we will need the second key marked `K2` in the drawing above. If nonce has been added it is removed before the bitstream is ready for reusing. @@ -67,7 +67,7 @@ Symmetric encryption employs a single key for both encryption and decryption ope Asymmetric encryption, also known as public-key cryptography, involves a pair of keys, namely a public key used for encryption and a private key for decryption. Bitstreams encrypted with the public key can only be decrypted by the corresponding private key, ensuring secure interoperability. On the other hand, bitstreams encrypted with the private key can only be decrypted by the corresponding public key. -### 3.2. Symmetric Cryptography Example +### Symmetric Cryptography Example It is proposed to analyze the encryption and decryption process using the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method defined in the [CryptographyHelpersUnitTest][CryptographyHelpersUnitTest] class. In this method, symmetric encryption is used that implements the 3DES algorithm. We will encrypt the selected XML file [catalog.example.xml][catalog]. The test method must be preceded by an attribute that ensures all necessary files are copied to the test workspace before this method is invoked. First, we check whether this file exists. An assertion must always be true indicating that the file exists. We will save the encrypted result in another file. If this file exists, it is deleted. `ProgressMonitor` is a local class that will be used to track the progress of encryption and decryption progress. We will come back to this class shortly. The next step is directly related to encryption. @@ -91,7 +91,7 @@ And now we move on to the step where the file is decrypted. That one we created. So let's take a look at how the decryption procedure is implemented in the [DecryptData][DecryptData] method. It is easy to note that it is very similar to the encryption method. Again, we treat the output file as a bitstream opened for writing so that we can store the decrypted bytes. We will carry out the entire process step by step using small chunks preserved in a buffer, which has the same length as the previous one. What is important is that we must have an object of the `TripleDESCryptoServiceProvider` class that provides the same key and the same initialization vector that was previously used. This time, `CryptoString` will have a `mode` parameter indicating that it will be used to read a file content, so it will generally operate by decrypting the content of the specified file. In the [DecryptData][DecryptData] we have created an object that is responsible for performing decryption operations. Again, we end the process when we have read all the bits from the file containing the encrypted bitstream. We report the progress of this process using the `Report` method. The operation finishes when everything has been saved to the output file. Of course, the output file is automatically closed thanks to the `using` statement. For the sake of simplicity, in the [EncryptDecryptDataTest][EncryptDecryptDataTest] test method, the only correctness validation of the encryption/decryption round trip process is that the length of the file after decryption is equal to the length of the input file that is the source file. -### 3.3. Conclusion +### Conclusion We have already learned that there are two types of encryption. In the examples discussed in this section, the symmetric encryption method of the bitstreams was the subject of examination. Asymmetric encryption will be the subject of the next section covering digital signature generation and validation. @@ -99,25 +99,25 @@ In the symmetric encryption, the encryption and decryption sides use identical k In the next part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. The next section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties during a specific session. It is generated for a short duration and provides a secure means for encrypting and decrypting bitstreams exchanged between the communicating entities. Session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. -## 4. Non-repudiation +## Non-repudiation -### 4.1. Fundamentals +### Fundamentals Digital signatures are widely used in electronic transactions, software distribution, and other scenarios where ensuring the origin and integrity of bitstreams is crucial. Let's check how asymmetric encryption could be implemented in this subsection. First of all, I propose to deal with the confirmation of authorship. This issue has been associated with the topic of ensuring bitstream integrity. We have already learned that there are two types of encryption. In the examples discussed in this chapter, only the asymmetric encryption method of the bitstreams is the subject of examination. Symmetric encryption has been the subject of the previous chapter covering the confidentiality of bitstreams. So let's move on to how a digital signature works, and how we ensure that the document's author cannot deny that he is the author. -### 4.2. Compliance with Domain-specific Language +### Compliance with Domain-specific Language If a bitstream to be signed is compliant with domain-specific language (for example XML) any inserted text to this bitstream must not break compliance with this language. For example, consider the [catalog.example.xml][catalog] document that we already used in examples. Let's try to add a free-formatted text at the end of this document, for example, a previously calculated hash value expressed as hexadecimal text encoded using ASCII standard. Well, of course, we can easily predict the result. There is a syntax error reported, hence it can be stated that this document is no longer an XML document. Because the syntax is not correct it is not possible to recover the meaning of this document as one whole including added text. It is simply a free text and is not suitable for further processing when we expect the document to follow XML syntax rules. What can we do? We can surround this text with an element markup, which is called for example `Hash`. As a result, we no longer have an XML syntax error, but we do have an error that such an element does not exist according to the schema we have defined. We can dumb down this document again and remove references to the schema, which defines what an XML document should contain. But this again leads to further consequences, such that if we expect that this document is compliant with a certain schema, then, as a consequence, this document is rejected because the schema is not defined for it. I would like us to remember this when following the method of implementing a digital signature. It will be vital to us. -### 4.3. Signing Process +### Signing Process The following diagram shows how to implement authorship non-repudiation of a bitstream -![Fig. 1 Digital Signature](.Media/PodpisCyfrowy.png) +![Digital Signature](../.Media/PodpisCyfrowy.png) In the first step, we calculate the hash, just like before. But then we encrypt this hash using a private key, which is assumed to be assigned to a certain identity, which is to be exclusively at the disposal of this identity. So, at least theoretically, no one else can use this key. If we encrypt the hash using a private key and asymmetric algorithm, the result is called a signature. We can therefore attach this signature to the original bitstream, archive, or send the result to another place over a network. @@ -125,7 +125,7 @@ To check the bitstream integrity and authorship at the final location, we can fi And now the last thing is how to ensure non-repudiation. How to ensure that the person who originally signed this bitstream will not say after some time that it is not him/she, that it is someone else? We can do it only after ensuring that the public key has been provided by a public benefit organization, just like an ID that confirms our identity. This means that we trust a certain organization that issued this key. This key is made available to us in the context of personal data, data that describes the identity, and therefore, based on this trust, we can conclude that this is a specific person, a specific identity. -### 4.4. Creation of Keys Example +### Creation of Keys Example Let's move on to discussing how to implement this scenario using program text. As we can see from the description of this scenario, one of the important problems we have is creating and distributing keys. Hence, the first test method [CreateRSACryptoServiceKeys][CreateRSACryptoServiceKeys] is an example of how to generate keys and to point out how these keys may be distributed as an XML text. Of course, the topic related to key distribution - in general - is far beyond the scope of this section, therefore let me encourage you to check out other publications at this point. In this test, I use a method that generates keys. Let's go to its definition and see that in the first step an object `RSACryptoServiceProvider` is created for which we define the key length. This is a parameter that also determines the strength of security, but at the same time, it has some negative impact on the performance of this process. Depending on the equipment we have, this number should not be outsized here. @@ -137,7 +137,7 @@ The XML document that contains both the public and the private keys is located i The situation is different when we have a document containing only the public key. [PubliKey.xml][PubliKey] is an XML document that contains only the public key. Since this key will be used by third parties (bitstream users), by design, the distributed document must contain information about the identity to which this public key is associated. Of course, this is not fulfilled here. For this to be true, information about the public key must be added to another document called a certificate. A certificate is a document that has just been issued by a trusted organization. The organization is an office that certifies with its signature that the certificate is authentic and contains correct information. From the certificate itself, we can find out what identity the public key is assigned to. Unfortunately, discussing these issues in detail, as I said earlier, is far beyond the scope of this document. -### 4.5. XML Document Signing Example +### XML Document Signing Example Let us now discuss how to implement the operation of signing an XML document and how to encapsulate the obtained signature in this document so as not to violate the rules of syntax control consistent with its schema. We are using XML but the same approach is available for any domain-specific language. First, we will need an input file that will serve as a signed source document. For this purpose, the file [catalog.example.xml][catalog] is used. We will also need the keys. We will use the private key to sign the document, precisely to encrypt the hash value calculated for the initial bitstream. We will use the public key to check the validity of the signature, precisely to decrypt the attached signature. @@ -149,11 +149,11 @@ Finally, let's look at the signed XML document [SignedXmlFile.xml][SignedXmlFile A `Signature` element complies with the XML Digital Signature standard, namely [XML Signature Syntax and Processing Version 1.1][XMLS] issued by W3C in 2013. It is used to encapsulate digital signatures within an XML document. The `Signature` element contains additional information including the cryptographic signature value and details about the key used for signing. Thanks to this it can be easily removed from the XML document before further processing. -### 4.6. Conclusion +### Conclusion In this part, we move on to asymmetric encryption. Precisely, not the encryption itself because the performance of asymmetric encryption is not enough hence it is only used in selected scenarios. This section explores examples illustrating digital signature scenarios in which asymmetric encryption can and should be used to create a safe hash value interchange channel. Asymmetric encryption is also used to distribute a session key securely. The session key for communication encryption is a temporary cryptographic key used to secure communication between parties to establish a secure session. It is generated for a short duration to be used to establish a secure session allowing for encrypting and decrypting bitstreams exchanged between the communicating parties. Initially, session keys can be securely exchanged using asymmetric cryptography, where each party has a pair of public and private keys. The public keys can be exchanged openly, while the private keys are kept secret. -## 5. See Also +## See Also - [References](./../../../REFERENCES.md#references) - [Programming in Practice - Information Computation; Udemy course, 2023][udemyPiPIC] - Information Computation means a process engaging a computer (a physical device) to process information as a series of actions or steps taken to achieve a particular result or help fulfill a task. The main challenge is that information is abstract. Precisely speaking, it is a kind of knowledge that cannot be processed directly by any physical device. Generally speaking, To resolve this inconsistency two main topics are covered. The first one refers to selected aspects of information modeling using types as descendants of a coding system. The second one covers program architecture design patterns to improve the design and deployment of the computer behavior description using a program implementing an algorithm. @@ -168,7 +168,6 @@ In this part, we move on to asymmetric encryption. Precisely, not the encryption - [Dependency Injection][DI] - [XML Signature Syntax and Processing Version 1.1][XMLS]; W3C Recommendation; 11 April 2013 - [NBlockchain]: https://github.com/mpostol/NBlockchain#nblockchain [udemyPiPIC]: https://www.udemy.com/course/information-computation/?referralCode=9003E3EF42419C6E6B21 [udemyPiPES]: https://www.udemy.com/course/pipintroduction/?referralCode=E1B8E460A82ECB36A835 diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index f5f3ac51..1e505204 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -153,6 +153,10 @@ Thanks to the presented example we may learn how attributed programming and refl Although we know that this is not a universal approach, let us return to the discussion of the topics related to checking the equivalence of the recovered graph compared to the original graph in this specific case. The primary graph was created while creating an object of the [Catalog][Catalog] class and then filling it with test data using the `AddTestingData` method. After deserialization, we check that the `_recoveredCatalog` variable has references to the newly created object, so it is not `null`. Then we check how many elements the array has. It is assumed that there are only two elements, but it would also be worth checking the actual length of the array. However, the most important thing here is to check whether two subsequent disc descriptions compatible with [CatalogCD][CatalogCD] are equivalent to each other. The equality symbol is used to compare them, although we expect that the elements are equivalent, not identical. This effect can be achieved by redefining the equality operator in the [CatalogCD][CatalogCD] class. For this purpose, the definition of the equality operator has been overwritten. As a result, the behavior of a new definition of this operator determines what equals means. The standard `Equals` method is used here. This operation compares strings, which have been generated by the overridden `ToString` method. It determines which elements will take part in this comparison and how they will be formatted. It is worth emphasizing here that the string formatting may depend on the current operating system language settings and, depending on different data types, the formatting of this string may not be clear; it may not be the same every time. +## See Also + +- [References](./../../../REFERENCES.md#references) + [ie]: README.md#implementation-examples- [self-controlled-serialization-example]: READMESerialization.md#self-controlled-serialization-example [reflection-based-serialization-example]: READMESerialization.md#reflection-based-serialization-example @@ -161,14 +165,14 @@ Although we know that this is not a universal approach, let us return to the dis [Debug]: https://learn.microsoft.com/visualstudio/debugger/how-to-set-debug-and-release-configurations [Formatter]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.formatter [iserializable]: https://learn.microsoft.com/dotnet/api/system.runtime.serialization.iserializable - -[ReadWRiteTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 -[WriteXmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L41-L62 -[Catalog]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 -[CatalogAttributes]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.cs#L19-L25 -[CatalogCD]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 -[SelfControlSerialization]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 -[CustomFormatter]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/CustomFormatter.cs#L21-L153 -[XmlFile]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams/Serialization/XmlFile.cs#L22-L97 -[SelfControlSerializationTest]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 -[SelfControlSerializationConstructor]: https://github.com/mpostol/TP/blob/4114e2e9e99f3f23ca67f6a2229fe3c386a386ac/ExDataManagement/DataStreams/DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 +[WriteXmlFile]: Serialization/XmlFile.cs#L41-L62 +[CustomFormatter]: Serialization/CustomFormatter.cs#L21-L153 +[XmlFile]: Serialization/XmlFile.cs#L22-L97 + +[ReadWRiteTest]: ../DataStreams.UnitTestSerializationUnitTest.cs#L42-L58 +[Catalog]: ../DataStreams.UnitTestInstrumentation/Catalog.xsd.cs#L21-L55 +[CatalogAttributes]: ../DataStreams.UnitTestInstrumentation/Catalog.cs#L19-L25 +[CatalogCD]: ../DataStreams.UnitTestInstrumentation/Catalog.xsd.cs#L56-L79 +[SelfControlSerialization]: ../DataStreams.UnitTestInstrumentation/SelfControlSerialization.cs#L22-L79 +[SelfControlSerializationTest]: ../DataStreams.UnitTestSerializationUnitTest.cs#L26-L39 +[SelfControlSerializationConstructor]: ../DataStreams.UnitTestInstrumentation/SelfControlSerialization.cs#L61-L66 From 2bfa4f1fc39910db91f2df8bf6a5b97c271c2a5d Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 17:45:15 +0200 Subject: [PATCH 60/67] ExDM - publish the documentation for DataStreams #379 - Review links --- .../DataStreams/DataStreams/READMESerialization.md | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md index 1e505204..a0ee4ef3 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMESerialization.md +++ b/ExDataManagement/DataStreams/DataStreams/READMESerialization.md @@ -169,10 +169,10 @@ Although we know that this is not a universal approach, let us return to the dis [CustomFormatter]: Serialization/CustomFormatter.cs#L21-L153 [XmlFile]: Serialization/XmlFile.cs#L22-L97 -[ReadWRiteTest]: ../DataStreams.UnitTestSerializationUnitTest.cs#L42-L58 -[Catalog]: ../DataStreams.UnitTestInstrumentation/Catalog.xsd.cs#L21-L55 -[CatalogAttributes]: ../DataStreams.UnitTestInstrumentation/Catalog.cs#L19-L25 -[CatalogCD]: ../DataStreams.UnitTestInstrumentation/Catalog.xsd.cs#L56-L79 -[SelfControlSerialization]: ../DataStreams.UnitTestInstrumentation/SelfControlSerialization.cs#L22-L79 -[SelfControlSerializationTest]: ../DataStreams.UnitTestSerializationUnitTest.cs#L26-L39 -[SelfControlSerializationConstructor]: ../DataStreams.UnitTestInstrumentation/SelfControlSerialization.cs#L61-L66 +[ReadWRiteTest]: ../DataStreams.UnitTest/SerializationUnitTest.cs#L42-L58 +[Catalog]: ../DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L21-L55 +[CatalogAttributes]: ../DataStreams.UnitTest/Instrumentation/Catalog.cs#L19-L25 +[CatalogCD]: ../DataStreams.UnitTest/Instrumentation/Catalog.xsd.cs#L56-L79 +[SelfControlSerialization]: ../DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L22-L79 +[SelfControlSerializationTest]: ../DataStreams.UnitTest/SerializationUnitTest.cs#L26-L39 +[SelfControlSerializationConstructor]: ../DataStreams.UnitTest/Instrumentation/SelfControlSerialization.cs#L61-L66 From 568bd57146901ea83a86c7514e36df8409f7ee28 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 18:13:41 +0200 Subject: [PATCH 61/67] ExDM - publish the documentation for DataStreams #379 - Review links --- ExDataManagement/DataStreams/DataStreams/READMECryptography.md | 1 - SUMMARY.md | 2 ++ 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md index 4a72d89c..15b3982c 100644 --- a/ExDataManagement/DataStreams/DataStreams/READMECryptography.md +++ b/ExDataManagement/DataStreams/DataStreams/READMECryptography.md @@ -196,4 +196,3 @@ In this part, we move on to asymmetric encryption. Precisely, not the encryption [PubliKey]: ../DataStreams.UnitTest/Instrumentation/PubliKey.xml#L1-L5 [catalog]: ../DataStreams.UnitTest/Instrumentation/catalog.example.xml#L1-L23 [SignedXmlFile]: ../DataStreams.UnitTest/Instrumentation/SignedXmlFile.xml#L3-L42 - diff --git a/SUMMARY.md b/SUMMARY.md index 827cab73..4c325b53 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -48,7 +48,9 @@ * [ViewModel Usage](ExDataManagement\GraphicalData\ViewModelUnitTest\README.md) * [Model Implementation Examples](ExDataManagement/GraphicalData/GraphicalData.Model/README.md) * [Model Usage](ExDataManagement/GraphicalData/ModelUnitTest/README.md) + ## Adaptive Programming From 5fd8bb297ef00ff9e0ee94e261a2e51bbb7198ba Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 18:34:56 +0200 Subject: [PATCH 62/67] ExDM - publish the documentation for DataStreams #379 - review the book --- SUMMARY.md | 7 ------- 1 file changed, 7 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 4c325b53..acf1dfef 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -28,10 +28,6 @@ ## External Data Management * [Executive Summary](ExDataManagement/README.md) - * [Data Streams Preface](ExDataManagement/DataStreams/README.md#data-streams) * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md#implementation-examples) * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md#objects-serialization) @@ -48,9 +44,6 @@ * [ViewModel Usage](ExDataManagement\GraphicalData\ViewModelUnitTest\README.md) * [Model Implementation Examples](ExDataManagement/GraphicalData/GraphicalData.Model/README.md) * [Model Usage](ExDataManagement/GraphicalData/ModelUnitTest/README.md) - ## Adaptive Programming From 6fc74fdf0db17844de2f7fe143cc1e6f17bafc01 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 22:16:39 +0200 Subject: [PATCH 63/67] ExDM - publish the documentation for DataStreams #379 - review the book --- SUMMARY.md | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index acf1dfef..85af32cb 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -28,14 +28,17 @@ ## External Data Management * [Executive Summary](ExDataManagement/README.md) -* [Data Streams Preface](ExDataManagement/DataStreams/README.md#data-streams) +* [Data Streams] + * [Preface](ExDataManagement/DataStreams/README.md#data-streams) * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md#implementation-examples) * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md#objects-serialization) * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md#bitstream-cybersecurity) -* [Functional Programming Preface](ExDataManagement/FunctionalProgramming/README.md) +* [Functional Programming] + * [Preface](ExDataManagement/FunctionalProgramming/README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) -* [Structural Data Preface](ExDataManagement/StructuralData/README.md) +* [Structural Data] + * [Preface](ExDataManagement/StructuralData/README.md) * [Implementation Examples](ExDataManagement/StructuralData/StructuralData/README.md) * [Usage](ExDataManagement/StructuralData/StructuralDataUnitTest/README.md) * [Graphical Data Preface](ExDataManagement/GraphicalData/README.md) From 910413c4a02a7ddb7756a9b8568ef2f9f25fcbbb Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 22:20:25 +0200 Subject: [PATCH 64/67] ExDM - publish the documentation for DataStreams #379 - review the book --- SUMMARY.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 85af32cb..d3ce482d 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -28,20 +28,21 @@ ## External Data Management * [Executive Summary](ExDataManagement/README.md) -* [Data Streams] - * [Preface](ExDataManagement/DataStreams/README.md#data-streams) - * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md#implementation-examples) - * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md#objects-serialization) - * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md#bitstream-cybersecurity) -* [Functional Programming] +* Data Streams + * [Preface](ExDataManagement/DataStreams/README.md) + * [Implementation Examples](ExDataManagement/DataStreams/DataStreams/README.md) + * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md) + * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md) +* Functional Programming * [Preface](ExDataManagement/FunctionalProgramming/README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) -* [Structural Data] +* Structural Data * [Preface](ExDataManagement/StructuralData/README.md) * [Implementation Examples](ExDataManagement/StructuralData/StructuralData/README.md) * [Usage](ExDataManagement/StructuralData/StructuralDataUnitTest/README.md) -* [Graphical Data Preface](ExDataManagement/GraphicalData/README.md) +* Graphical Data + * [Preface](ExDataManagement/GraphicalData/README.md) * [View Implementation Examples](ExDataManagement\GraphicalData\GraphicalData.View\README.md) * [ViewModel Implementation Examples](ExDataManagement\GraphicalData\GraphicalData.ViewModel\README.md) * [ViewModel Usage](ExDataManagement\GraphicalData\ViewModelUnitTest\README.md) From c31ba68a39a987c4b8a31798f8c0b1aa760e6db0 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 22:34:18 +0200 Subject: [PATCH 65/67] ExDM - publish the documentation for DataStreams #379 - review the book --- SUMMARY.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index d3ce482d..8eaeaef8 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -34,9 +34,8 @@ * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md) * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md) * Functional Programming - * [Preface](ExDataManagement/FunctionalProgramming/README.md) + * [Preface](ExDataManagement\FunctionalProgramming\README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) - * [Usage](ExDataManagement/FunctionalProgramming/FunctionalProgramming.UnitTest/README.md) * Structural Data * [Preface](ExDataManagement/StructuralData/README.md) * [Implementation Examples](ExDataManagement/StructuralData/StructuralData/README.md) From 125bbe23e998fcc4d66334488a27d68a2e7799a5 Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 22:43:51 +0200 Subject: [PATCH 66/67] ExDM - publish the documentation for DataStreams #379 - review the book --- SUMMARY.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/SUMMARY.md b/SUMMARY.md index 8eaeaef8..204fd1b9 100644 --- a/SUMMARY.md +++ b/SUMMARY.md @@ -34,7 +34,7 @@ * [Objects Serialization](ExDataManagement/DataStreams/DataStreams/READMESerialization.md) * [Cryptography](ExDataManagement/DataStreams/DataStreams/READMECryptography.md) * Functional Programming - * [Preface](ExDataManagement\FunctionalProgramming\README.md) + * [Preface](ExDataManagement/FunctionalProgramming/README.md) * [Implementation Examples](ExDataManagement/FunctionalProgramming/FunctionalProgramming/Readme.md) * Structural Data * [Preface](ExDataManagement/StructuralData/README.md) @@ -51,7 +51,6 @@ ## Adaptive Programming * [Executive Summary](AdaptiveProgramming/README.md) - * Application Architecture * Composition From f44c40ad56bf48185b71cf3646cfd23e49c03bfe Mon Sep 17 00:00:00 2001 From: MPostol Date: Mon, 1 Apr 2024 22:49:56 +0200 Subject: [PATCH 67/67] ExDM - publish the documentation for DataStreams #379 - review the book --- ExDataManagement/FunctionalProgramming/README.md | 3 ++- ExDataManagement/StructuralData/StructuralData/README.md | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/ExDataManagement/FunctionalProgramming/README.md b/ExDataManagement/FunctionalProgramming/README.md index 1d3edaf3..ce02192d 100644 --- a/ExDataManagement/FunctionalProgramming/README.md +++ b/ExDataManagement/FunctionalProgramming/README.md @@ -11,6 +11,7 @@ //_____________________________________________________________________________________________________________________________________ --> -# Functional Programming Preface +# Preface +> TBD: placeholder only > Path: ExDataManagement\FunctionalProgramming\README.md diff --git a/ExDataManagement/StructuralData/StructuralData/README.md b/ExDataManagement/StructuralData/StructuralData/README.md index 1653a7ef..5e651e0b 100644 --- a/ExDataManagement/StructuralData/StructuralData/README.md +++ b/ExDataManagement/StructuralData/StructuralData/README.md @@ -1,3 +1,4 @@ # Structural Data - Implementation Examples +> TBD > Path: `ExDataManagement/StructuralData/StructuralData/README.md`

      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 z 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�#E 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�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

    2. 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%0D(ZJ`1oiN7#0)6WqO^+@{7 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%0AI=f8K4>Dq{gB~DGw1d zjc*{dG!})3K`!I(SCWr)TN;;%{F-EdPQPYU8Qntu=VUp_%8CScZ8KL`ag;Wh zq(tuu#X?f)Az(bYnT0@pSq;XMV=X&f<3Lxg7^cQEZpBNp-`t;aHRD6X%+O2Xc^)1c zOa+l<#~TUgBA0Vv#zv~jiV^XQ?tjOFxb zAx$i}G)1#;&@EMW0NE-GNis%9TDmd%D&ipl^w6_aZz-R+jtU!@J>}dwZyVyE01cL` zF`B9j@N7DGk+tHg3aKyyI3!BB`b_=tMzcmt43!7-0L%jUkH6u$2FJNnjNx12+XV`~ zwUi29f0R=<0Fonrks>tPV9FsRz3X5|?O$0kL54RvuNtcipGDmgbSHc>vR6}dc8MKvrP?nsXsRekT3N_brDBpMUS6O zqS(U!db#l$F{ok?$5#TV*emS~Rr*WQOWWm0Is<}d8?%EC$nn2oV)mtS)3B9%jCDZ+ zHVa7E=KjFC2w^CtDN;4Mc_e!J`QRb@MQspkd-|-Oikciu9N2R2F9Km_sT==NL96!2 zWh>^W094MveV<{_n&c+u#C@dV`6bIedP89QSb@>1CZ2`yDA_JB5dt}J23O^xtoe)f zzd0@Dk~KzOs69rjT%{gg_+)<|&d7HU2$su|_1budmoX~_Iqj(&Jl6X&zTT8?m6_O0 z+w58AtK!QaJ1WdGIq%v;@?fkSm>pB4uznlY4gb8`xKa6B`PbB+K74mpJ!MVLgKx8c zo5ZUJ)C?K*Mc*!l`=$G0Fbtn}-#OXM(SHJUYI9Y7*~79wI`)v)J2p-FS6FGf==(3wpxsCr*( z`SeLn@OzNVl*q9ywVA_yZa7+cVv)W5O6sY3tg37MGxI3F z93$h83@=d;_09y>5kYhKnu{IoF`I`O9#pLZA z0$O5pQvhV{!j-NFMU*-&Qx#EhAOkQK37fk-*$jN76}(CejJ{@UOHV@qs0&137;p2% z`EAFdaQG(R2-^hlaX!8XLtv(kQOI4Opc9<*BYgwADqJ9 zya-gh|KRTN;$TCmI1h#Dv|N=&#rmgWhE^xpi^*luP&E7!hT!80um)7DE`z8+*=9<` zM#`fSMUXOG_z5E3bs*Tu!Jw^4-xNf2-vgbgB*?I6(Gz0d=Po?<3_S2MYT0tXPG4OOYBcZ95^HvTnlz}xT z;#MHSd=qt0o=b^}*?@o)vF&Ca!LDC5i2>F| z269Ga>-=AXrVK2a?NMff>*CKmuQ@Y5LDb+vnWKUrE|QJ zVO{XU0X%Avpj9|aJW(Vv@(3yU7EL)s1yb3dS534jw*WAAw~rHV>^t;j8Tk+w8$&(m zqzn2TAtXC%yt}1lrgb#cN$^{$E2IK33~W~c7_PnWk5t$5@P)tl(AWXwdlM4()h9-> z@)W~-iq3Y~8KxVsVgjHHS`*#Ofbdl3KS)x*)#a_UqZI@3Gw|sfXD%2yd)h=@ns4z2 zVlJ%=zjWT7YMOIt+pIc0$Fn)^g3ddQtyeYQ-!l9oa#zQwA%puntdY+lhze*lPlqk{ zmCXa>^jmRjsR+J3=0dU);>e8)9V2gU*sK$R+};v631DqSLAu)iSM5rOng+}NGYvjI z+1vQEqvYBxbS>d$3-d(Ly~g76Uu9?Sb^QDHPwnk{6*qFuHRKW}Mt+nOUKqH?e0F2^ zJBgJJ7MFYI@WqVXCsNT7!_vWbkDG3!b~M$X3Vphh^K0te{_T6a>krqIUHqqB)ZH$t zY4|50|KYQXl=`~+Z%3xuUbL4apUM`dP2V?p|LfjFSt_{(^y~k;_b-SFWuF`jEQgkN)YC2**p^Uc2 z{gc*sm_8!4L)%cp&)Z6}%Vypc+`0GY^XNo*0r%VI0ZH@7`{}v&Zy$cCAuH}J z`rGdGuEOBz^{h8{Y8xJxi?T&mGS7ba`1adWZ~s+;cPPVhV)*Y&@ryfU9q)Rc-+S0t zvA6R2WzcmwTw%c9W+lfO@lCufJJ8mLpKnNV#u)nGT;hb^(vf1}g3A>)6zbi9i4P8@Sq+qD(u- zz-U*BiQh@8pV0s-_fvDO)%<65O!Q{I9Qw+#IoH#DkB+KocE&eU^t~vc?dsCFPv2Cy zKwrASL{6z>on{Ihf==UFLAHb4mFllnxsNl09eq!(bJ$dFf%j+?-5OH+2S;winXf-& z^ysKQA=bBMhr0LisgW70*Wq?cOC6R!|D-`wE_i&_?$2$PAyVIkG~18GcbDw+NcxFf zvi>xEb13YT9v3QF`_r@iX2u)%B!N=CGAZutuM>Lh!*7JUo0lF5E6F}0igiDy&DmYa zo|@XR02X!z$O%ghSp;{S^mu>!JaxX%67Igt-a4|w_jO8G)ClQw+?Sw(r5?Y2b}`pg z(|rU-f|>mnOw7f!Mz5)KlR%{`I&{I`t9Ab?&mA@thAPFbo2h#94Ej<|y2fSWjoK~} z^kSHnnHJoQefku@vQ~(q9v)&x)GTGN}OZ!2z%O2 zHv)^w6+Ws39<=n`e2e)t`X>D^Ng3*DZOKb@Y&VGU8X;AkRy0}!(~p*4z;9HZxzyPJ zMYq!drNEg|hO&7gok7_Vt?<$E)?t*94zk$mljetpjQ8;^q>UC^3Pexw+X&PVWs(i2 z(^MDmO;>TG=b0ua;ma|udxdKcB=D^2Yd~;nu&TnNQsrL`;1NQ8jyil z-v-i0H3&;O>3b{9e{r#drkdB&-9T3FW%E=v1=aH*?@Id?nu!6AuMub?VF25rK?oqS zxE;Wi#C_Q@MTyW>2t~Ho!`pfg>1CTw*Y^5ayK;P#tw-37+g(<&c|c&0ePf3=x1MhV zJ)EcWi2id5_*JqpBLzd0uFCwd(O{B#cCK_Oh`+}Un?Dwzn8f?Mh z+IpOpC<6CIo~)a1mJ;&tZPS<#wi*W2~v^RS`dZ8+5Hu9-vc~0O{49Hk-*H87wJF$IUR# z<`?2kMYHC=4){`5P+`F2)2kJgWva}V4AmQ=@KcyF@DjpWVXUd1Hq%Ie>kMYxaK(^QNDeYnEjM4$q`6}Rw!497#yQ!j)M=ZPXdjaZNq8j}<01RU#Ll#n@ z%ekj9R+-AHr%`W_!vV7C4Qhp=)pm7qpLxP4S6hKKpQA>37Xc(D9h=a05u{2P%PiH; z2NghYG67UshotLHH4^?khAcYoT;ZT11>Gg9$puuNX1uSZUp%xx5*T&V1MM}u01bLt zbLMe6Ueh!Qm`TS59ti}4=qPMLp3F*-gDWc~o_~Ft)dsa|jMla$bpRhz({)%{)PL19 zI6RL;F=7EgILTFrv~tf4xK)b1!5}6zC7b?jZ4ln75e2saIQ8@f6|Ssi0q~NrM8Z>9 ztN_v@edjYu8I6brSMUtiFS7e3%s=WuUbKh@K@vVP(#!{KcuM%DdYB;J=DK$?!Mt*p zlB>^Z|2JDY$ivn8%51v2Xq8c_S1lQ0q%Lzh*O1c*7~(>{YCWPnBn{ONo0*&C{CChU zIb^;XeMQgus7I`DHavw07D~-qBo?jjMc>EPRapoKyIuME%2(q=x#iT5X91o%lyn5)0Ul3M zRyucn&-{3MkbWlr!MByJOd| zBh}@;w3(oo!#vXse?OLsz>p^@__E(0tjBDgaRa-^{?d9%sEdalvsCcVvb5)W9{z%h z*Xf1t%8ga%klwzP=1wsTSpAVq)5I(>V*M-ij`o&aHjibVAp#X@{NwopB{wq|OW#(u zKVDfK(nVZZ``c)Y&{T5&NAh_ApsAaUWbK}_0z)>#Dmy-In7asJpvLYY5O^j=(tbl9!8M zJKnlUF4mk4sfY>uvt$*H`$92B%pqS^XrE)_ck%Hc;I2srjk(FL@#IM^4iu9o8F1SK zXiSA>MQbi`+_oWrwIJcNI%vklS#sb-3dm|65r)x)(;T62E82{JLbw^X7n3i_pddDJ zr2_Myo?OWzZKV^Vq<{?y<|S*yp`g6vOa!t+kF_O`IS;Uq?P(7so)HlMdS-Yi zZYu&hbK$iL$W;PKSd^cPj1K}Bl<>7>*nM=5zj7Eo$aqjqJ{FaEYz(I zzYG+8X#dITpMsM$olv+8wt`Lt3rLq4_(cq~`hwE}Tstb)jw3#^2w@2VFXN#3YwU=> zFoyvv@gTD;@iU?XGt?GifTjrke5-J%hrjDG8Ml@;6phrir~&x%qZT%r*wxJSFt++bdxOhCU^z0C*bP$5<3h;^2IG z&VT`XzAx1}UX4s3gf*g&Ws=lo?Coo0)J^uH!ZTYAq9)QN#IM5>EKVOsfFgr!f#$a^V2?XR#Jq=o^v`|=tbmhayKKHlv-@EY)|Qd13&VLA1~9eq^Uo67B|j4|1<+x(|;NsTR-KKvO-;Q zo=O1-Q6-<=uxJW!U6Y=WvcuK+j z+xN@z;jgmhTgSh=dYoU~HZnV1-#OCQ_0QCB z-`j6*y1QS?TJAs2RsPibw!6x*|J}%iGlJTR*n;%f_qE>QLzok(=Q6mlzu)IxI8`<9 z=lAy?Kg#RcroVQ48~M~#S9ke@@a6NCckiU%?r7YtyE`y2kbS1GyX|@L)vA-3Nq4Vh z?K_n6;!bhfy{64O6H!L*m*$jj0|QS#ysJB#HSpu-I^3QJ!T9>-4iq%<`-yG)zyG3=zpKKap`pCGVPyD; zUE7N{-<$2n+nK0N9(}S12Vv1Ih>2#akI(b|8&8~?LJ9Wce|~@a*!>&*v-?h?k4;eh zJk?-0I)HL~C;vV{Rk8i>6WVA4ZFYQm7A4Z78-F;Bs-C*yFIlKaPUj?wc2=TN8I`zK zuMUU;6Hy&ITuzsFyUvu;Q5Jo_7Z26Xs1la9Ax4}HsFdv~%Pa30XqGTh{fuJdXR4G@ znce;|uesI$%^;!5cA|=d3f-#l?tL68s=5_TZK&8rrE>d(7?s(@byk6#L{v@}e{sFD zfr{#LK`a%O(5OTg8*Rw?(!Db>5tY-Z82*oJ-)&I4AyMqriz?xrv6ZOsMuo8#r}uwI zz5fjn{-=adf-kyC@jnw5s9HuvGAfK`QBDc^$bS$1r=O=DJE5}qKkjdX87l4w^T0gO zfc3w45-l^aq_k0p{PO3ac#_7$I{#|6wRV=Z2n`&^^`9;J)N-2Wx7lp1n(6bi82?jE zVhBzRVyzZjZlwE=qqAe**QZHt8&#VK0sh$m)^t}kl+nIL^Seu=nw9_chJA{)pXq6 zmYN>}D_#d==VscR@im-DZ|!|Doxv09A7E%PS=~8AZ>~rRXffpTT&DM=th@0L(SWyo z&G)%FpEab%`x}VHHe4S(rJL3ou#v&*G+)H-*3lkDW%k!>5_ zzcLq)G`7QP2J3fwkH<$tYH1JEee@5|8P{+3kbHgB&CTe3I2~Dyo~OkfdB;6&vDof` zwj8WCI29j5K@1uHEh?siOsXj%&Q^N^owih$fJl6)E{|TR(u{^pJ3!0$@k?fGCti!1 zGkqWgPiW=&5baV>06uNgE`m12wHky7EE<+lcxb4^18C#aSQ}ZX*>@->I;E-VX@m%H zt_B;gzepR5T8gnWl{An_40sJ6HX6~BW5?p>8JQ@aSKh4V7Bkj~xUr>v`UpcjMVam1 z|IB=k9c_Uo5EL(x~A$wTG9%*ch$VG$)??Pymj=4C2&E2m!Gcgpk3tV z&W*oZU!LKyD29z6;WN0HfJsh+z`!iLtM%|qBDMsABYcRXa(;XhdOA1=^mn-wf*Y4R z{GsOs<>#mBRy7)GvCrPy3}BsEeahRZ3@DTk4=-G_QC7EyEJ065f&3SQ;YTdM0KuH7!=N6uaf5idRogW{nAtxYG5q!8(p;c~i=1l05@^ z2f!Qhr1)J&@tzOSy;8sj=PGZa^+u78+Ki}|SNdv-%<<13F-WWJ(cU8uG@N(hfqIBw zwOt5i!3G|%zaV+VpOAO25*WAj>9EqfQlSM#y1;|VAgD#HHP!*~*nVH72Kig z0X*a&iOuQ-eh>1|Ole101OiW`TbCcRh~tu%M-ZaqE<>qV!5j(=zu+G3U{osd0c9CZH-uyDbWh ziSR+RJc`LXiPseIp?GSW@}f44Y>d4{ZCTFLx)gh>ie#vZ!MBR-BizO|7}F($r(+D9 zgPcLyH@IctDD{k)2)3vk&!#j^wa&_zhOTTtmry!y2Xr&s}a->K}NRv0G8d6OQYIvXOY)8#f61fBaf^xlYI8F}+mLZp*F;dotkUlqc5`?@ z3PcY~2Qc?HgANauO2|B4BGVS{IgxDK==Cg|S6J$_tI0CHGr;UGq8(OX^3Pww1g@t% z<-qDQCR$2441wp9JJKl6!WdIaufEX@5BxZr3H!}}gdc+8FYCUyLI6{^%fC5Us!O-f zw&QDG^e`~Z)yJ63heRr5VHorI`1)Xf{?Zc0Qu9f6!@vCwk&2$iqW&EC#ibhcW{(XT z>L^jX8*6lQ+tCZjI|Dqc97O!lONIp^80c3k^(s;$scWWKIowx26aH#N;cIx&vRj2+ z`FGVuBO3LP2OAzgZ2IPPLCtf3o?^i&8=10NWYsE3Q$r6|_k7Jz`<#*!))bb9Y>ky~LHiV64QATh`f zRz9=>j(+C`r^@d$_{a&i_;|EH$v+<4`2&np#5bUq4&Ri^)qd~N+ZS8P^a@QN9vh4z zh~j|-im2?KScK#}2+w=#j-LIRjIqq216tkUY7#>l`$h25>dhD!@DWgQW(lalAukSo zJihb?LJXw4%tZq~$D!Q_`7f6|@sG(#IYyP2lujk&(aAEi1S^{EoC2G<+SZK$>;Zry z>;q*#K^JF$E(2oVglHc&-Ck2a0>H}o$};f(aP{utO#ku!|7+(tZX$la znNn7%RH`WO zn(d!mUavjw&-?vxziD{{E4OK_qoPdtz{F8?qlFOnTDmI1`T`lTfdjLr>10Ra9$kj{ z(oVP#wki9q-!X-9Is|j(!4*K{o*@bEDOkQ33z^YKJ|HdfIrKhw@1!iT0cPNcP@uqE zgz$qL0Kg;E@rV!-U?N0$QGsnF^8i1*`yFpDGE4>yV+-N1H4-2JRi;3Pn*>0C3nLTQ zOb@oPoXS-~bYKJgG$j;9gB>NHU{u5<8hRrKNhczvwF#MQ#VI^2n8G{(6=I7~`?%=5 z3g~AC5kQ8Tjj`!OgIu|AtRq}UOvE<8eZ(dkDcBeQ?E)g2>f@nnZJ$!0tCQLyK{AEA z-zW#;NkzMnUF5{bt9;ZGf_{of^Uncxo4o|$AdcokA16o}60i&|l6d%xfyuXyKt_e#>lBWRQg8YmF<-Xs}>kZa4UcaT|_D21Hvy)dhw`1~sQqcXUOd6&M4HV#j=8A`tBr>Lu+BJn7x)+Yrk z_y0Jn4`6G6Dc}yUZiO8CDJZPXAbp>l`^Y;r_w{tFzjw)9_tn+l!3JhqZC6KU2R|#g zyyRKk)0nhdiES^;gFRhWmwmFImG*Z2Xsz^1$*X|S=RtutUgk4ui@CFXAL=?q_iy?7 z@3)7dZE2VBIawL2%O4v{7uxbMfx*q6s?jIsKozu(!+OpLUYMX*x} zyPM*tt9J@Aq#xf-2?&5d z@C|#aGDrA^BjpNHE6b}>nGpJGim$p@yJ>N5ajsT>vB3l_sW4Y7y*l@AY7ROa8ngIK2;}E)m_v^iK`rHs#IPONJEzC zR8joURBl`)4bqle9_`bdU}(V|!qwNa^Oq~7;~hQX52kn$$W0JQ&J?T)@A7++$P`RssIo77kZ5T4d6Z#APGf3;h0%Vm51w}*Z5Su0} zEwj}Sa$@t?qD<4a|IlS`#^MBp5UsiJU;vc7hJ+$SYk+hh#4dysAfylf6OE8g{=W#Z zIjGhWqJ_;sATdZZF8&Y6_&==(F=GCw@$&zt7*SA35=FC)E~TNH=^S*X{+679f0qYd z+cAN##j(s6cglJ{QE}pga>=HeTXTzQk4S?Fds2<`qYVAr>L0*26J4l8<0pc6$@vxY zGe}l4cU!C6X8*PvyZE_1v!kyzp&#$Px9x+o{a>}_0&}O-T+G&INt*W->ZMMQKWbg| zz0x-$2-I|u+bd~uv%e9i5p}PNsCh{L#oolILAjH@mjrmL$mQNTJ+~f(oyW3-+ZWfB zSY8e5xT~)XXPH}Np@ULG&+k#R$Z@&X;1}}1|JzcmNOY)TJ6Ab~HX1k-^!V@9#hK@h zlaKcXg*X28`>^l$mddIz*PCm2x^4Y#TViWY#V22mw%(S&`;RwV?zadT!=|6vY2Sob zNRc^EbHfgjV1zq-y@zMF^xo63nC_&rt&H8-z&X%6=_Yc;BP30JpSO*pwREh#;3m`W z4oXW1OL~Mn_X%OAOX9QP3aqCTkiDtpRg1$Cn+KEAO6mP+t5cM-KXIvWyQF!dJ2!{z z#5vMx^%%Tt3ux&SH(P&MIh*VMOyz0ZW}-Vlmy{yZ*oE3?O*z4~0C0qPmCV9v6|sm^ zzfmjq3~pVBBmh%Np5bn^nDL`KscuJ#qa}g7J7^uH+OxjW*ctgRo+)ECd`Zic62F`< z??-hTwez`fi}U<75fUExMmZXJs(yP6J==(1Bi&t-yk9HKklZNc!Nl95ql%T~Zmv?> z-*3X;p*>d|a;aG>%=I!B7bE1xN{Hjn=WU)7tUq*7Qr`Pks=k{=5E```+z3ZZ zIdkf(pM8&Z)0q`*cUGEJ6+1}M+VF+D*M!Le6{-H8eC!mnB=KJ46o^x%3fdirlH12< zp?@pw1X{i(C4A{qK%bk=GQSgNy$l-1SfqVGG{7i^La;J-mw>2l)Tk=)dAakqgVMR>#BiqbZo@$01-@=cp+S4y>oHQy1U@Ed8;MDl>MRg z{sV3e=gZ`55i-luwMcmruwGh$^QbxU4LyOqPD1+Lcb^B3PhoMp71nB{oIgcvv^4l9 zXgRX&0p8Ahx#G8**Na^uVA9i&|6Y1Gt>s{%M5{!g=^h<5TIuP#~O(h`1Jz#Qhj%%pl zcJ&mzJ%UI>H{_Bpd|PHo!Hr{$nGWi!X5D(H4#D7Jf>g*OmW=S&+Gh;aCh~8*uWy%) z1RPJs_#;u4`?;~f>vAP^Ic+``#p&tA&*Qca!7RxwI4zP_ptM1atSW_JF;s&D$sSg# znu!o6M&mSrFXcl+OV`?|!LYh2{Uq4_JoNh!-!3RzN0}rd9 zE7OLu!;ZMCFXu;F9s=E1vflDz9<@L{j}8Fvb@M`LtNk4@yUAW?eZPA7RXID>203*% zqAg0YH2rZe0v|NXkV)a9Y?a$JnYPGbwX>bt?y&cp)YMHu9h_Il=3O4=4oJN= zFmI*X?G1=cpD^1jg|L=dY&8xGPoF3}IxgacG4@(RQ)Et@`gS#=d1c(c?-^{9fon7{rM zk71uuYxClu`E8D1)e-9x$R|vLG#Kct$qV#+#|YnUE4Lp+N~>#vQm)`HReark)eN|?v?voTL?Eriuyr5-ihtOw z*NVE^!KhU@9$*HOCsCsDo&>mU1sU;-i_n0as+f&@}~>OH3FrN;_&__q8b%R>br%f5c`_RZ50-jAyIx|TEj?uMnYRjRcDWo+{Uvv6N^@hs6{@6k_1u_ zzf&YM`BY|aFXk@ts0Dt6ssLgUhXer9%qE-=5z8mswsIqeqU$ROk2SHh|BJn-=KtytWNx7Wnn z!^yfvg#W!r5P%`{X8;C0pqu;uJcT?@=r#{`|9`B{|6c!%6v9}IC5a_GZvEiDgs|}T zFCX7O&R<=0 zzg9u=IP3Ov_D%48`J?&SAMf9FBjj`ycjBuNJMY zJn!iITAQ-Fwf^pSrEW{d>&)xSx-N0=;_{@xasCVS_?gIx`fv2x>7QPek5qY9WZa({ z?aj=6H#+`1{r=+*#pk~@57gC{FI8%b`Ufi}md93>c=a8j>FI6xinSRjqdz)ozPFc_ z-I*O~DHr}M=U3_)}MB*6s5T@}JMVQvkza=Ks8Wn#L}B z)%fjKN5W-~A@TIh@Q2^t*VXchMZ!)fC_FVim%(H}_T}8{+?x!OsVdE-_Xe$l-^+)V zpg1z*cn&Nsjn^t9#H7x=+tM_%b-zWG-k#|!cq}Vj${DK3oWrmz_&rgVa@%`_Y z{^8cKC5U=DHaA-MxN>fBv3YbfuB5BHy|Xs2x}tMA3=$YLQX<7B`d`QLi zi9O1D7Mc@=AXywg!q3S4Pnf2-5+E_k<^{VZ#b*k_tg@kOv1caV(348Y93flvf$a%p z(8?jiaA2nzLfV&000+d}F^*y32oxjkN}@!LiIvN#kzD9`!cYa30Bt*ujEpr8{I@3z z@nD+=mIp@0ng*7eMwTb0#vnP{Isow&mdk(qUy$j4zGwN5|5-C$oM{@EX&Qk(2)$=! zVqy$Zz|AB78xfxU&-xTqM`PtTdkX%?`qbX@zi89{_KJ&h8WRb2|DjED|A)-r`Jv?T zM+j}&l<88Mw~vjwvaa$&>60%H$;$!d&*Y1}3$wQ^&*8D@yPJMp!atME3Vu#eg5{<-(UP_sZh0uipk%CWP{Ta`z7cljK_@r>E$?(=y+@!1Y4Ys*}x_q~gA-~FCEpZgK;YJBb|t#QkIS8&J0`R=g6=kq<0^K0Yt zzd(%9f{3XUxX{biD_ZD_-#M}Ho8x5kuRrBz;J-gQ6uz2R9OX3{Esd3R1TKwN3>Ga-RL)N<{pDk}E{p4xE*_-Py-TbAhMv4wT^xJ$cXdhJxOHuLrsLAu%EI7_ zwbkYMztDf6G#9`)^WhuBAl8)&R}%2iyTx>TJQu0wTqAj0%uvo%w3OAlFCADItu{kw zNFv)_V^Ww(SLis|Vw-#7-!Y{4N7BB|bsK(&W6eH2k_{EqsV|CIWa(`DS~Q!Zw3-9^ zL+r!f%dgXM%vGhtXDd8$e!uznWSmF5mThL|9m8vrx2V!N%8kwq+cGBO{c`(G*8)t_ z)#zI`eNMY-IY?B??}V^VXVtG{H$pln5tPm)U|a;Y8>TpH*IX^74+0zYdgdQdqo(?I z!JZA5wNgLjYO7^`*ne#*nJfL6sFZ$BQT@zzhwMhp{vmE>#nfG1{9{93mygGPOr@3w zumi9ywM@~}y~LYrgD3D$XEscy30(6G*Mc_iRhcoN-nw^YY;d+>JFmB6j}M#Fxt>dS z@1|y=nUsJ2GgE@8Q5oq>8h)H;hi61%cWH9U($%h4fLU%yGP@^-*Y>)P7%->22Q8oG zehFSzn9-4OtTBmOfaf93WzR~PMj3LL5-&??DsoaC> zhHYFV-IAN69v?V3%s1P7Ul#5KlUDO{-tI36wcHPq_Cb%1wXA~Xdm*F+?rkPP?*B4IXwL6 z0JGE1!*55Nb?-OZSE(_0;t(i-hsWILA{UK$ja~@DgQ{UL1$(m^SR?_wAqEjQ7ML=M zJQ#|924h0u@0NvReAi*y#08eQ|L&BKs_D~lsJ&=e602rSJr{e{Ea3VXgAEP4=QQp- zXGjK!aZX48hv$>=3^CKG3q)KQBBS#u$eUJd>GNjin$1R9UP6YXkuzXR_F|)He9Q22 zp9xj?9_?$~@&Yw`V3h_)27{6X3yp*%D&1BUK$P>0m}R%NGv{7zaTC`YG8Yq#m22f> z$nM%`7&F?004U=Di!RMys$p8P68RI>%`Lcf*fTIFs0(V8{dm_D|90zoXKPhDgTSdl zPtY3AnNxnq45mdd3X08*>VKxzn4LllI}t26bhrE?jjE7;)7^WPAeAooc~1Xba|;{e zXH%)&?nL|{f@2P;2pBeAb_s@CjdqIGFxXvb<00=YtaN zhi6z$|I>&nKj?N|KFww{JWWf-*Y?%Sk2b?M56=b#@ASH9>vHA%Lx&>QlUMceyMF$b z2`4ki$16WMzbL6q890}(Z-+f*?oIHFvO_p>M+jd_zD~H0-W3n^JyuxKX}2ujdiZ?p z1MGsT#R6I3h!~EDX9$bOOp0IXaLh~Q^qY)aN{$xd{jV(<--V zvZhpojabh3Qfhj)ZqwA~u*+Zj&#nd8E9T-+uB6^SDv5Bs^y(zDW6x%V?^lAv-2whh zp!!}9TdCtfEU2d?it{5Y_E4tx|H?Gn6*}20QzEb8p(bH_8m3zwHFIkx0pQXaE@6HeIB)I&VXIF9-=c_wQbOgq<4Met5ZZ1 zsubsosbI^F3Gld;n4UiW)BJDvm*^g2t_IR_sQE%$A{A*!S?)gFjO?h3`m3%J@m;@q z?zMMTYJw5=@6j!ON0jQ-kD0O7q)&+%_R7HQ))(bg{*+KT`(8{G+wzI8b+~Kt@y%Eb z=Q)Xzm7e+2gg3fT+X%FQ`76VrQBCvk3CxYDj*yvo?F+sE6Exhs7<~!EE9B!YQL(XH z+{zqop6~kXeXwU9t|L$0(g{Dvzy9py@yqQ2_m9vgXcyJ6pl;c9^+r0X262H8SP(+h zeR27E_$dN7dK95WKxuGLPjo_L^sYZ|!OGB|5T6) zh)*B`iXwOrfKu-Sj5shC5hjNui6q6s@RxQSkd@-VqzD%(LS&`zXxsAR(RehHdveepj#<45hFUAxik$Vi+JCLT)h08#t% z&@=+92tdTp;F4mA9FgoJK5&%;c#x%@{-HA|vJ$-i z5awLeoqXI05zPA^^p#>xaZ>fDFy%EqI!Yw#LQaUG!pejxb9@|`7kB*_T#F`~#>IY% zy|$H)Orru=TH1*xX+Z$?Xc`>J!x#zCUSgaV4~PJKq{Oi*gi~Cx>I6T~N(3hg56j7AM`he0Gh*Dro_1K)5{sb0hddaZ5>x)EwYtgTH&0gYqK-L=Mn3h~0@t9;Tr5 z@OOh~Km=ZLN{Cw#1MXDp3JL2+MY-cKiX!Tn^RS0vtUn(m!A*pS2OsB9!bS)B%vM1$ZHUwlZpuz!!TY68e}Af zi-=#_{rHwxRRfRRO+nq^qs}duK6cRy;K!B?%lbhi1P*YTn{6lwI1zwFLTm&XT9HA^ zh+r5h%t5$sf)?w^M+M=ribC{`cEls{-4!lo?+@Gw@&gGDaOlnL&ZiIHVhL3)%8P_m z5k7{19Bw?cstDmiN`1(=Z=8XWAp;~1Oc9T~Dw2IjM9hm(99n326XY1d67d*S9-?jm zk;q5*<4=*vNE0f|1&=23QITZKmpd>V2sDnsJ%OF+l6pBJ3@ApP<-5*vkVYc-c>o1+ zvlnT&a8dTC7+sMDTz1AG7f~uyRQ-ByUq8%65$4NdK!SrTS);|+=oZG3ut*LJ$wMt4 z&f0PJ0fK@O-389_5$1U0DY56XHwax&)&qcdZ^q{Ul2KH)6i{G8fguNPE^@JP0J{Ix z)jbr1I0K;}%sVBbVuFrA(KU#~z3N;DZ~$8|pvpnY$3gt|#~bH7KWO1CC{B%&yi0J& z!Sjf-BH02C5)1W-0I0LVVq0V$kAdW@Kf;>y^6&*lEcnt3U$j{YNFqqU zi3pbPA(bF;?v{k_{c;TmnoaY)wDt_m;8mJautD6r(L98k7-9AYagn16qoodqA^f?9 zi*m3|Yc>ida|B8ryiG+yfo>>%2F0a44 z698m6vR))9y?oprf9!=NK(`PP1_Jsdd=&RV78Q}Gf7*r&#Nr{#2IftYECAr{_wPew z^&BzU{|9j5zEmhVYS0M>wd1!KNSyF3Pvw+5;DPO~r&(GlcxzJ4$)2N_9`Ev04~i4hVcggN+1kppCjFi}EB zFTSJ98U@hTJ*)gI7U07IKqx7gsys#$le90pL{E-zG3sj~n3WjerVqo^ zJklM@Ga_N-LUvC1s7i(s6aBEqhh&-JCVj4C0ZsUVgiUJO|1DRNq)-!0_@*zq?qZ4+ zJD*|UYZryMOTtS#&IRs*g;XlJ=O}s4lUVAQkd3DJ6;sJ)Daft!^+_Bo>lo}R4FKQ4 zjQCLiAMg@kl1=CbKjYj!yUSy| z=fYu(_xE^P#k|QI?yT^PQ2c|?>(2&gRSf}+M_Z9YmwndoNToMy72p<@2e^==q~ECw zlDiKYd$;?B`R@BZQrE>^7X%I{3!jJU?d*0#|5|2sKRdkd4=vIyGw8%CxQ_@CSpg97 zuaouyG9paJ)1EQQAMFnU+mDiG#))S&eLL>`D(Uc>knyvQ?b>1{$s_}wtS7S{kg9xG z5Oj{p5{V#4~}v0?z&L4ZVD?@lNW|2)Hrs z1OcT*6}gRFHUMrR@#rD<3*e~>ee5fxCVh{O-0fXMlc%=monH-ILH1pW3ZW|v`!_p1 z!lRGU2A%E=LPX?0pD`mO?1aJ)BdYiA#GcsIaJE&gW1?%HTj^bBv0W zVu5=z>D92?C)jJKN|lVw5jyQstWne7`*bzpX3xm&ZGqC7qiXh}3qGTANBdr@ueX_f z`tRmo^(qQqBx$H~iF0J=QsY?Rgmuw`u5f?Y1x()u*})&a{j?(A3H%$o!Eso}aMDkp zgf!u#zV~C*$Y_=o>Wl6-qroSqF0VX@I2Sl_w)wUc_wQ{bpvG!!u>A};|NC}xzo2_x zWA{mPu=qlfxD7KJDEoKy-TBkAdkUBU)a3(P6aHQ6xv~K_wI?C){KRCgV!zHME9*}ttP!2upyTK zNe?qzEDbwPi}6qv6aI4Ztfn}s?CgbbPBZR33u(-PD>u`fV;s3U$o z_WRuse2xg4z`N~-IsEY*aa@d(;7XE#f?pmdFL4`S1mxsA+K~Y7Yn>bQs3KzU|+cbQB-UcA9Lm5U=kmxCH%WA z1ndbtSlUGvfIUJu)u!{HVeN0)B0o^&#NtMuVvJ^wL<_(azKEsTswYg_$o9`(^f&_X zW_ZBr@)s#F)bI-YT91^10O-q+;bK6RPKm;Y5!0xj(rzq{egA07hbt*Kh=#uoHg~g7 zdKBe8XuR7bi@^r<3vf(%nGJ^6@Oo`f9tRH?S_=J(V8IkyZI0RLw6x@;kv6?K3qw6r z(5KM~E{p1KYAlvhgWz6j7NPSz1py`o^H|!m0x8jVUb^u{PGDyK6hUBJxwa0>kh-(! zV`W%4TGz8v>{Wkr{Z^l@&dIY-@w;1|=l7{|pVD_+8tD2y?JIobkf>{Ujds56>ERbX z-9Ki}W*rH!m|W}N!ZyHdJQegQpzH&JVw8eQD;1X6{b&PrTNNhmbi^fKoGj;)`slV= z_ZA*rBE~#nLb^MD+UeV`ElNi9kAA~y&F>>5ckw12f4zI1e)$L2Tj9Lc<1~*Nh8Z_0 zPF_lpKmfL(T`mDK0&(4gD;9i)A~6skU=;%Fzy!9|1|&;J-<$&pXZYIldeSHbhUg>H1z9 z2Y04tf4EYP|D$H4J&|m@}W_ z*s$22y!ivzS9L>I`VME~W^(WT#B17Tm3!Vf(q7J{N6}O@n zgMwo{9vt8!KAqszDMkd8d^9}~aPiBLh>IoWP1(0^Sio`v zcHFHnaYeE=4G&7|@NxG1jZSlOH+L=&=ni7GVLT!_V#h~0Bs*zM!z369W7??chAT}q z@DcC|Xh?Im#V-aIZV96T7$GQ?gg4p|M#k@>Al9=1z|;aJrNn0FgkZRjE4fl91z-)< zCh^KlG*(YogO=sdNl2e{rWLU0Yo%8F4>-bp4eYzI75;))sGrGu7rx zsMmm26j18+SH8S+c3Cz5&y8puZ%vtSXM3aA8#leZwe=B_ZewI^!8+!8Jcnsa*(YTy zY}D-A@d90@DUlfVkvKLTNAe&8ms&8A*Lgr#KMauUbm=f{#r4KfKPj#iBe1Tx zcy(g;i5?omgyDNzj|SQ^cRB3N5^3yRV4-!=V5ZBWM0(~!ZJBEnrmp*=-N*ZF)%+>y zcpC+mi1!#MAx{EpFY_P4EgJB2IIl*&6A_~+JsE4~ous`T54P-1X97^#I%3HNUW-=` zCw#$c5Zv+VT!aMy#7_yGv|AByw@yNkX-ltiA1PXv<0XA7pDY8N)|hu`-uF0Z<0{jD zd!d${;EqLTO55PB=ZfHKJeY!GF>p$95QE~wB~APjKz`Ob2ov2`)Cq!jC?J)e^El^0iH0oQ~PP?I#Ik+R@~VFF0Pf@ToNEc8)Zred8cqSEftV%|A0uxWhlV`NY^nD!n~ z!AIMR$cM|sOhcfr4r2zY^@*8q$^lG%m|YkD3LA|S0SYv}VigUvB$aDRc&FHPBfOO{C=ao2KYKU_tF$OD_K#ZqoEpBq2FEf#` zWCn*J1+o=7XCAWNM&~c4v8))Q2|I^#E~p1NSvS{ooLQONKhJNrSO0h?LWr>V{6_xx z+L>MV*8Zrg8b571Tmt~!$>-7lyUlR&1Ze@Lu-(@sxT-xbymLYIFZ<%z7QP ze(-xjr?|`djBHNzkmbllT))NUDE4JTFA0}pk|3W4M;h{f6cFk^$#=|uMM|lEuKoA` zKp0hDS$$yvOBAiaQlC`kdwBkx|Nd9cxufya954O)cuVt8i}_v-Pibvs@U8l6JL2?$ zs-``nKtjTK%u~i6c(WPZ!WJt8FMNHnN{!r_=J>NJ04XE)_vPC4j(cj$zi-G*oY2r3 z!}!ckEnT05{aw9!?<}m*%}V$3J@%iyQHo4IrbsGdX&6CXuqz#1+At+`UnF0R@Z?J# zBBKl6!Q8F?8pN;FS;8{O3(0Q|05NjP^zN3D?tezx{jvj(%L|e;By+9mNY>rvGQ$yM zWEojGv*yMX@&=2yy>H{!_SO_Z`DpF@odUQ+MaucN2-k|u02u~X-qI&wrT(c#Z|2<# z`a7k{nv1)v4L;dQmD+5X*-b2rS2MI$nW;ghXhaOLYy=D?g6-O4!Da_493Z7#He*H+ zED-UwB6(>EiyB28a?kHtqe?kLX?xo;L$aYg{bOB=fid^_idFb>+J07JCyBPt~eYE&OMUp;Bu&5GM6`N zSM3r|W?sp6H{9(cV8{vT8>Be<1Hdh2NOM&O69b1abBAs2^$wAaCv?_%Wb!X`HLN~$ z2uvaENqLj}`{CxUI_Xa}QHaFkWR{&X3|>*~zdO#q4}cbRNEDP;hQ{AITZJ~eQ_Jt8 zzM2>QEF~>FMq4;fO*=B%3TgFH6-)2^kV$1h))u)|YgY|-o0!Okr69wXAE^0(=a$|c zE_8-3JKb1*cFJ3V9_-9u3SuH%(&}r{EX;b%Ums9tv@~&Auj(9>X;piL6;480bKr73 zYh9{}9FeY@lpfjE=u}n}WFpN;-YsG1FfEl@@!?&1*Pf!>4@J@y$g&STR|+%Bnt*GD6iX8X_qh zc>weUj8%yN#e@AU>~3t`2AmmSL;&;p*{f#2+tv!4P`)v!Bs3f^$ptL&j2jCQyYTci zL5h-J3|Hl4GK6 zWcH;PWN2U$di}t)ah0!HVuT3*S9gYM_^rFO{jS>ukRYa`7v4fJMd}7bxF1Fft4<&x z?_Lv1nWei4qaFT9WLIv^ttimM!mw-vLBRMccc7Bcf)RikohF+XSTh2o3>9I`#+puJ zh@z)&{SFz>Zao>*fqTSQdL*-G%!r|k^(u(Fx8&Ys9;C{&2P(9G8j<-rjOnnzAS(b> zL2g7RBKCm!^C6ktBKT$+#+D5;_{Y2)o}>}RG&L?dL`dFwmTP8)M5n(BNi28>cRSyCrIhG{5H_cj2v7BI7XsaHbG znrZTLt8)fo4l3j>_PS`j_FnHh?Q79jejkylQu7IuoSj9tnN4{dr z@Um_q03b>wc)X2W!sHDbhHRJ4Q9&vQZjt=Vl20CMdfw&#Z~w>V8ejFhEb@UZ?1wiz z5Zk!i!ljJ|$S^GsaHnyP6~sgc7&<&)tR-vX0vzcKRtw--Jb(326l zCJcZBhjZwfKf>W|Lc|u*K{X;Bnw6*&m#Bgxi3n8HnKln>#TC z4$4Vrel5%k&TE(O0v46?lsACe^5IGzASpk`7Rw~E;SPA1eLft^!MT&pJh9(?tpcXh z4OA|`w!>2Reh4@180eVNfS9_Y0@_J7Or>}<-l?ox=u?u3uY_6bn((<~blYsz$A8!D z)ISIV9s@-|*>%6{P(eh{oRD~BHlHqEYWCzR5R%^=ZLIWh7lyzC_l8Mr`v_MR0ROR7 zXxqO?{b}qbXi!B51c$?ZMcMmG(KG`r)vDn~$^^2h83-(x$jBYoRpt4`766kkYmg zXnB@?$!juivUEfU4ieriLhMeXtMO5qJaDT_v=+cXa}lEb43z~WQH-@Hz72SQTF%f8 zF*1S6deyu|i5>l9^Jq&k$0d(-c>$2&Bh0XXkutbP$Uu?lG=Kg2Q}vH`!PWyY_+u{w zvhfmPP(#_!kQaT!?9QjGf!E|0SB$0C)W<8sIwyV)cT|b%JjP!HU%XIHE4HCaW058h z9!D2B0H7!YFf1@ynh)XYRV=twpuiU67}Fi>nn?L=O_9P(hcVC{w;*RZkWf?dZ&w4i3Mys$te$!cRW5V{^moXc!DSLXIrQkfPDa+zsY!0iZAF~!EMiBfkwqb~C*!QM4 z=hg@Cp18(ucCx-Z{WjLZWlZ}!HFGBX2Cp@8XEPxz<#hh-6ZgZEZr^kJcNJ5`T9%@p z-Zd_&$VWCr4pxn9Tu9#exo`M$+zrI{;MbWr^2M%&l1OV{Ok5mkf4`&3SoW{6jVo?T3(EqSrkky zt@JKkcfA ztaEcZxp$d-d|4W~NK=RqtXZ_5evgfpK5Vfx_BB#ieLZC*a;>W|zHaRw=iQQ;MRmh3 zhX<-r-&pShzF+_I@L>1ps1oh#KN`u0q*o8QE{(W-Xs}*2&b>1b8uhnv@o%G}2xoU> zd0(Tm!}H*JDc69T%e6;MZuH=8{QD*ThfDgdH$SBpDrxd@>F-)E274VUD>CpC6Ka`~ z^0EO?!jm7fPH*+A)1+2I{Dz&E$A%`g1spA>B*XJlI!!5?kCp@sPi^{?wr$h#%=6Q_ z&6&GHGvYnuv}|H+q~On8jQtKU>~5^vH!}0|%UuTzxaIj2z4pT6uP%>|%o=p^&NTK^ z?wK?EQRcsM_wp`<5gWGc3)=@xZ5QibUHz%$DcP!jIMt_Pol(Hr0;#V)PHB7Kt_tIR zL6YTSzf=det7`AO)%*M3ublj}W972y0~21`hk~P}f#Zui0vZy}el2>?&Ut%fzNaz> z^W{{kVU%r6w4U&!wiCC(tSL$BW18_|kJ+9DpO2~0pAY3i+YArPufN^#F*$VNwB+^P z3q2QRa6Mn9KCgU&udiw`m=J%F(Q(IDIpy%TH@VH5*~wbdN;5%D zn&JRI5qZGZAx!3tVd>}HONP!)@WpRs!sB~;p{+Q`f3$H1e-i1)B)*jlSFQoBj+}~i z^y5z2taF@tBPW@Ix5vurx%W2aPjn?euu&xgQiTWwTeQLqHrP&0K8ypt(Ckh|DPE^= z$izpaG{e&!*OrY1nzvLBz0|&Mp`v+~zjj3yzELC^wN&8(ahfbFlBBlb`?8y&5m|21 z(RR5Xi$6`H;==|3PYQ56tYtqsCIEmL^~jafNgzDL5(+w&B>KmeS#%e~iYWPB8-57|=cI3>)Ink!SloRg)DxI5z99ezY11RFBZL1hQ(6ylT)keA^!mM1>T_dbwrJ_5*7s2mc`?ml4k}mIORs z{z87QE!;!F{*7}m5?oY-Ew7cLBy9*n0Pi=yY7HQUOozwz8=w>j@RPQhX)Uxjyn8WnpvY}K|!eMi0Qx>J=$%7 z`FPc)HbIB%Gy9Q_G<-#0MAb-b-b+}QoL_Hqz|9cjsij~y^;!)&o86L)frU_z&vyCW zI7>oec5aK?qCf`32LFe>_YP{R?Yn<>DxoG6=_T|cC1OKF2#8of#f}YwqJpBLqJpA^ z&=DaNBOqWX(nJV|2r*!QP(;Lth=AM}Ld1vx1BMV|gx~fq&-47=^Pcm^nK?6O&Uu*( zlYvdL69(44*7aSVHCAd!#oV%*!fwX06_25ot_@`>_|l>txEiY&`Qf*GSLDhxRTa;T z*(Jrfn3)8$*|)kZOH0Y@QrV3`-kT{^^=5m7Pe;WmVTniP*>dwZkLA}z<4W6|j(L@F zmj0A~a2r|kUb1Lmp0KPq0BL}W0xvsb4{{Y2-NpNI)?nwrODZ8bw2FReGy zVny)Vt{~?OnCm9Iw&ZRsILW{ ze5eX?%r;0Q9&Uni$L{wddYolKTx9DNw|Awe9F?N&S;i1eD^H*M!Z^!;TUfEv_GsiA z>~*E1J8PolAY}v$n!m;DtL}Q!iT6bJKrAX%0#U6kfhn^B6m^6oW2I#%Xy7C4HEmCU z!i7aZ|Mn#StOYi_Axtv-WqSI6q;uQri_qJ%PpWUc+w8S?RkdRWyzG6eyPhM}&xRER zJ5ZTm>PjQ)2@1CPBA^hBXYo!N1t<~?YWYme(p;TsIn(feF;w*bsOT1L6L{nLkg6E)IQdBS=g*nMV;$ko`k?qExu=U zdfKMnjUviDpZ9e*IO1_9$Ftm67L~q^eNgpVpJ~(fEqmR$Csg65y^KcfdT(xAnYv@q z{FDCY@V=lCQ_czhV&aMOn9U=n$yPI-9p9Ulr7Sx-{@f(|K%-ty9h@<){b9a&URbr3 z7l8hz$$Ji2h;Q;)PF67b>=Drtnyt{ssrL+Ccf9cYrq*2nIIS#eSk1;;*xEp^ttu{N z9kffIM%uYI#GpJgW8PdK~v-{z* z(o=d554_jD;q%DIK>Og^9E+xb$6nY++RwtWmiOLRRaf*YdvWu#;l7f4PfDkP%9WfJ zKa?Zu!(D^Xu?C10qxG+jhmGj$KlhV7bYnH6+JG7U_TJD`^Zdgv2IJQ>Vn#NWKdpV8 zKCM~3mLoZ#$5gKhjb46wY|hn*r2~si+{NH(K6mQap)+&)B4gZe(aDcsJe!um;90Ex zVQvqZz4O%Kll{##J;&_7XTN1kta{$~3X$+V?>pnO?c$HUzB^J2)SLKTZq9v)DxwFg zExv5K>D*srKUco~Fmd;D=YjjvKI$$}U#eAs!8UtwO-7S|Fz-D4wn~hbcMm%Kaf>t8 ze!lT-)AZ%-a?Z0=^G)BIzTLRF@x%1CE78;3;f7;wd;_@6sPGL|u9vEL)>!Luf!2*N;VYI&l(Ei@g6TU2iuJcK1BNOl zWA0A=V-Xzg)-he@0*`)U!-+9BHc6vfWwapL8joMHI|{DAbi?E2e8z@;Fb!ESL?KKk zjJPq_-4cZ#{i3QzU}8@J@GM}-U=$1mR@D&AEwBa?#x^B|HdQ7|>kF4wm~3OfV7(@G zeMf+ITv;p&?b2c>!Mn?dm>~BhW+vOhm=KQIUPhq`m!Prgn9wd}`DLoXHr5|MM#tv- zR~|j~N5Hr8i``L3E21UIWUXji9ar$xAjZ+&Z2hX@^{#H**F zafsud012?+xiN_<`Y{Nqhh+%fJ%}jpbX*h$-d}v7ii3XAG4bU_k3VUFSP_-kP&-cB znwn@Jkm-~TwN6&IH6wP<5RP$KkO_-(;t4Np3oqcL2hJie(&(FpVW44*To}n6kH?Qf ztwT!W%XXMM`n%!^+$3$>YzrR+JiL&I4t(I`{7D^8TsQj8956p1J>es;xYleLc@=JI z%Zl`hJFt+dX?Dcj2|&u$BT-CbICy?|f+I;g9I`}0ls`n0-*6CubXo+)Hyb9}TW72)&!}Ljv!Qw+Oys8HdV}sy;Vnc%A_7MW z*hZ8HOnp2ok~<)S$B8knkQ^~axp*9cG11ZfoY8BYH&C9p1#U-$-q~Vqq~R&bBFcxl z8_5IDa!ba3MMqB(74U@E0jnHWcYw`=;E8AnH_zXunFNq7;8;(avu%3Gf(;FM8gls$jfFP#AV8~s z{a|~PJ24M7=uTLGA^DcRRnagwZ+{_dZJj%Q0jwH)__S~QU;y)}!o$Y=rSvL&SKOGo z)g8N-!%*2`^c*%HuqCD*#Ucwyuq^!8_14&(Eq1i^P%^|;#sp*H#-y+MB}>~@RkpRh z$3Tz6qz~nCVD=mj=R^61?GIyDeRM5^xkiS#3o6D9IL;E7Dne_pC;T-FG|tLY1-col}3%Ct6F6PgL1|t*`ppY%l1j67U<9NzS9M0!U|ygS6ya+bX<5nMZt?gRGNkg8)$z7qz-Nb=Ifv8lR z{9T&-eVjrmO`#g6_*95|d{42HrZg_E^qQvpQ5fi?r}7Plu8vcg$AOJsM_uk=v=(br zix7m}tc&vRR9DxiUqKMMhLqMVTe5E%!M%MQSfT2-OzX3%r)G%`*89W!}*%onHucIU57_z{FlrQ z@5wT`0tS5WCaWEXm(`kW95Kq+WA2@>q4>^LPag~rbvFuOUX5&IYOQ0p8E39XtoLLD zUho15{V|ZJt`5BwL`4ifjOq^Yjfy!A-*d*tgY9nj(eaf&Nl}7dqknKO=E7c|eK76b zBl7Tdcn!pQma)~{rAOdyD~L9s+DF5)Yyo!#&yAXu?y8~-WssIa9adT~pc}RrZ;aUn zi`=XXqnze!RUi`yo0qRVLUWZITqQSXg|6ADFBi2g&DCu95Gv-1f!v*7y{TMBiS!-l zDJzUTbX$HAzsr052la|ydUG^g&jcOM_phwqfA=b_GuPWNB8#obJFxj-ozJ3!_qB`H z_IN$qk2@SB@_9Y;Xz1X|Z!7KteuqS13(zO9&YaAG6(QJm-2>F+MZ`Q`GG5UpPQS$yb`$igfx}tm+?fJvvTV`gwL@{3b$7t9IrZfZH{Q5 zdstDw_KyRH&z)2ArmbhL*wq<#RfsUQU^Ma_Z@-+1mQkonoO%UC4X!ufF;-pD#qE7kepOrj0sbG93NY>PSGqpsLgYBF_sjd&QIz;c<)v-!-XxI@ zo!A*7;C>n(Weg1o3bHCceG|=p<&~7TFkbS&CheG*T-h4@FY)<2&+}Mn=;>z6IjEJneR90iv zv&Lr)70icpFo*tj9Q+uY|L}%AD;^mbdhxcq=l#dgj$z>d`wb;2roE$6_LF}hDW-8+ z_T#(YVL{E$ISGr|RYkAMq$D%B!sZS}MNZ}9uwd#lkKQZ099LYJliAJTH`B}Faw?nq z1Rc`?ZeLwh1%vxT*34vl`!aunQkkBfIW7A+`f;qA-ZMH}S6@;*&{0?4+%x%0QZ*r} z9hObVK+u|Oe3UoL70oWlS|qo1T>krzO49vhGokDJ}x5w`aw& zjtN;@av6!ps2~Ly=9W$H$Z@Q$11Y?{{vnx_imOkSpa6 z@OxS(*qN1Gy`z%7{(}QNDybrKTEwsKm-H4_k}_G+iJnYq7E>T;6;X531NmKlkYt)#Ne!U}C1+KHP&q}fS>;ETR|Nq}~J!S2G zr0c<^WSs`n7!!sz97Ri2rn8LxFVgk#R-Q5BHlxK*h#K01Wg!kV*_K?WtXj*8-vp-X zdkQt5cC}kdHzeX@8<#|fd1@Vsa<>md9mZyM+@!V{EMPb4J>;f156^(<`Xa;mu1?qC z9jh)L+GKES{ePzGJqOM^*t?7cC++SuweeZ?6Cbc=#kg0YWaiIw{l?ARJ9B0;%Y2So z|Kzs%19k)n*Im2xrd>;Za~fpgC>EQT%yLN31K>A zf4Va6_Lq)Vf~7J2p6{1GF?&VeI%e0lSTO2!UfuNBWt_p&ax7@AU zxxp%YZ*p%@twj6=;DC9Qic;}hvexGEz?}hWIFJBLxsUGw-`f`+7j+(G?hcf$aAbVG zt9Zte)=JwICMY`ff$Sk~NF-bN8AFgk=frf z4Hfum_3%aAu%<;O6QY3Mq}8AbC^nR4w{1DyJJ?OpwHiZ=;}e!Nq(uWx_9X+wI!C5T z2h#28Z`?K?I=0KI=EY9Uqm-t~Hpit8&T#fT9vutGbga;QO{zCv`lxS}i{20m`2M)m z;DtkH!hcB62yvT@d&OiSxK4Hxgcrg*MvBIpu15hm`O9Uo?R?HrQY4-re z%Y^{^hHsBaBdAYVNy-O^fSv}*;NhOo;|H)vE$?n{x!3~5Kw%I#LEikb20D^v-fCi| zgvwV)vwjCnus4(2wve3s-t5TI^F=UyEC3IszCAZX1e^5m9{a54 z?>62IRf+u2cV`PT^^Zg4634N?i10Sk6k2rA>#?>vrvIiuw10Vl`t_Y&M(@_z zhmtDhI0&sR(z2}Su(HmL9XmVwbZJQ%BuN|csGsBWDuoZX1w{xOw$NJ~0IT`DL7u>g z+pm2nz4G(-+t|f3&z1bIToH_y;c85e^wC1A^qpQ<)U5S>m_1m;s1b zzcnw;Z}pT2Q=jknaQEd8t(C}MZFkAd_t9;>7`6m@IjlLOk{$kjBtY7C9b@#2tPl&2fMEmtoK~dpDF$7xXR+VsdwM|&P224&&6y@&D zx&d@*yt+>3rK!MBqcSgL)t#ElA~YaDnqc!g#DnX3g<0b5TIM5;+1lCM{J^q=$fD+Hpf^NlTP!ow~zaLw%EB47Hv2a7grWneLmsB;Dzgh zs{BPZTCOJkZEV8b;si>Xd`wIZdUiHlw~DVG$d6HCQXrX zlbBnzPPgj(ZqOYvO*(SX^5=ygN*v317DM-u|Ey^1-X@N zG8dGlADp%zNs|paVArIZ?N7IeNH_nXE2O2{4yD`wNXO}9IIhXC{i3rXBEx<$5v~0K zD{8?_f6Ct#%b*Pf!^O}ViJn+ z`f-P#Lpi#J67WMeFoF{FL&uqm|67^_bi5V8zQpwmchZ^H&YOJ;ET{Ef)A3b zK~OJQV?u4bBWEmEP_BFimq*pfd-(%X)<}*h&r2N2sW4U%(jc%!oJQFG{E3Kses=z3 zW4>T0e>yk~S95Q6&HcHud!jX&dI3;(>M>Llbf+&;7o%>Bg_~1zJ---lV`6%)1{ zwM6Vb>-^If@_I6;>SK46XQ+N}sO72!r|r4?&P-OEyH+$(d|Y_oBy z-f}4?<6+eIitX&Mrb(w~HkCG}dUk+1AVDh%gJz@cIgsUSL?8x+0TAbem12vkZK`{r z9LT#Jhw3g_AwaqY+in35bKkH8+Jf{RM(hRo!9wVibF@9@vV04`r=q<$us}RA)*Kna zsrD!czcv9=^fm~8y5rW)Lx0SA?K6)1z8FeKwMtwPr6Oix5K)hzZyxhG)$H!8)8q$z z5U3LXJr#fBamCWLGb#yt>eTq8V0_&d_7TsYbp|zu9wq602_xu15(bJNZTR`bQ_bV3 zw_0jI{h?>Zs*(q2zPysNy{fj$ZRgwI*%PwC-bsE!enWZ!kv%b3LIumnCBssFazYTLw@W4xCR7P0r>Vkb;WUpe z7D@Qx!OVoP?#aPsrbH;<%!>G2>0l-)vUjqpn9;*z@~21H6Vk5axX4}(n=6$t8-&79 z*07Y#nqYIqk_LuwLcpPq2-B~IPKzX(h)4e_9GGs>-@av4m391^PNN89$+p+A%EYY2}nu2_|Hc1*xPYlRPVy6lM}BNkJ|| zB7H!@;!|g(5=JYVHOXfU@Ta8`ih#)M7E;P^R7Tw_kCjUbBUcU5$O#qXkcx!j363B$ zJxtil8t&?^t*fl9Z|I$tP#VHn9ARc;V4pxjOi1V*5V8c4VZMOjLhR)TrF|?OUzC}U zJ0ay)*45GZ9Qq);wziH!3Yi`iOfHPj`$Vm+vUE~NZ7l<|#6WKb^xGyE`a!&53MnwX zs%LsqkY2?C*@mE1(>K{q@00aS_k%=4(3?rW0sc-!ps&MSkWGU`|A~IkPD>{R=F@w) z3!;+rNJ?BFB`&0O7&LOg!(@|SW8frcxq&v1Xm(Tp`f8x-lSB%s@0GQ-il(`&`d(2h zNK*u>*1-pyU`}b#AaL@FDsAEDzAqCD(^yJg~Cx=-nq>$MK(O>@1qP*4d8_w>b5-=Zyf(${yZ&x7>E_Tlrt>5FYi2HyWc zU-WzE_=ui&dR6JWf9Q)x7>f-ZkEHVzgbI+p=sLL+H`4xZ`r`7X4_^LFUo81>amDA{ zp%3xucNR2rY{<8WBg5D>}525e>t8H(ifZPb6*F|Q@_VPGWfdp z_T&GgFMX_&0sAP*QxNX+_aC=RJSX7uO8k z$*##za(k2TH+?bI#eeTs$B+Eki9hL!nPctz1CH1JJNn{*lY#$t=!>&wI{&0EmRuV^ z{iZJ(Za(@aeKG04x5FcoqlFajT~E5&7p0{ci&Ni- z+dQby>z+(RQbm+?G-pRWm#N_V>41A06|uUjMdhk68mm-*+CQKioGgsVk?(NywK6-^ zApGCyi(|?wOWF*NCh0;UN9WEQ+LUafJCm@%~7t6wVCeb&ru%mF(22GXCdVl*v z_W#fqwL7eLswVB#NOu|N>R3gexgDBZr2lzSr}J=HitgjsKm8$)zE~f$6Zss0iVTZGlnITJPD&)lFsDIMC|%Pey@Pf=HR;|?D}4bfG0?A z5Q-%1!b(10%Axo2c{~wy5?@wX8OIRPYa8e+A)m*YoR%ar*t}^`{ls8pC5t{WNTU_g zx`lnilH?vXt*o+EDyi>g_l`&=Cnc5ihV))Zl}u9D&0!BnYNsVMv81xQxO-TV-pg;E z7_1UXMx}h3l;15F?41TLJqE!`40bnD!sqmY>Lw9(^CTRQLC$7UlPf`@Fr}A2C}G!5 z2x;JklR!ePupQK*%Hj!=OIUQVkii`UrFCI}AJ-#f4GR~*Qxfu1z%!quvIP8OR&l>X z*gMQ0=Caefgng5P#T+($qAR7B-#yGO<_Jf{yn4E0RJa`ef4}v{=d;p5@Ue`_ub=SF=+3z#ow{b4ATuSxTR% zs;aJ6Dga@|le2=pQSf6;M z(&5c3ylM(J98>#;f2?Nwf5JchmjZ9U`-}wgkHhXh`vo#*{G|JWd0)B50*4KPJRAE)WjwyVmf{yhyf_E4-}RNK@_zoL6_@8G(c0gCOSwf7wrcQR4L!S8SdesSa-7}X)GGSQ5%8#zPZc?r z!<68NZVEiTwtu7}=hL)!>TO6z|9gQpMRHwS|43m|r% zKOy~Er=On_QVaI9i^X8G__TOLEd4Pp7KmGoX6eS_Suqr<0gfez>4sH>7_RV84;!2A zkCoCku}8DmG_cgWi(j@0hr^TkBZdAW1THa!m5C(~u~=qZE~}p$R#n9(6k35b;cO9= zP{;$>o|!(8g!*KGP@g6m0o%lTgm`MREt|}%^T&o}22PW0eKV5@{#Y)aNbny4d%+70 ziJ>9IAcDV&6~-BKO0EbJ^;q=`5`04c-!_Z(v6_cz@w{i8$Ex_RsR{pI&gALw@Yh=hu|} z1CF1Jn#u3H{oldyJ7WG^o*7SFXZ^?W%xXi97YN6nRI`5j=kn~o!14df@(hIIkN;a7 z{)FQ{C;k?Pf8hB4M{)QU9RDwI_#2M@mpJ?d$NySSk4@BAdBU|0tLEPMTpoU^OSq!| zp1vBY5wk44J6R|G83@O>ANT^k*2T?>K{Z%X>dh3C6LW^saohTY2PUX4T3+65Z6gTB zH>$W&5WO4If?QmIYg5UPJx;aV+K*>Jwa7r5TeOpEJKEEQy8gzmOCTKI>6g}Sqv%W% zUzksj(`#4t6~-H&$3t*P&sotMrv7n02NsY0y*vw!2uod8u{#td56(K8K-~PE7N&cQ z7V%v1zv1{tG4d% zJnN(PKsbJoPnh#e2R>|~$kTf1^o!E_(ZAvN7BkkE`-W*IJeTca`A_#Vf5Y+N0aAYU z@h!n8?(awk;rK;4i%ApNH!7sTkEpF69RF0#7R#Kq+1+1hEOAn~=`89;d1a#}2*-bl zxMiJp-Rx&@d94b|v~J|`Qr)eK*UgsZrHBe_;(JbgsC+7@_s%8{AH5aq((1|z*=V>G zd*+x6xb9tvAymk5NFJvM9HwJg~gAx%mrD{GFR*G7I>7d9}s zQ47PuM1#F}wNo9oPb2qrB5wLvt~(e5kgP5bj-{I4Wq+N0jeizf-h`8L`MmDBNcA=R zOn9qD?=R6?dF(-2?OC?p$-F&pmYw#tv&cgQ`Nw8W;-T8wfsm(mcPbkex>qtp zK|re_mdM_0Y4LM$9F9GWpA>UqmLslYUU>ZrZK0eXBq=%&sPZ3|Nt7Enu_vq6_`)nz z93Cf5n0|t*=Z3Z_7DTFcuhS+FF1X!1ax`_@z4vFIZOuC(3+4Yj)EB31T})VSRS-G5 znOEKE`t#k>)!!IiDsL~oHqSjUrMfPK?|IVYM}pyNMX)M^G+yy=;f2-=o)~4Yjb^-d z>UF1s+a~lmV~Fvw6_al?H84jLP1VZq^SdD^Wdatk4R29QUy^in@GAmCxc`%~`Z);4 zw;C_Zupv+(x=vW=4P4v0ATK!;TLSEnUq9RofT&`H=hZQIV0sK1fx@e;;lp?nOr#GB zcH{IjDrWKXJPlJvRM<*uUq_A8 zwtVQ8;d-AUjM1umy%i97$&d$vM+2;75QXCsyihE5;(iH?y6@}Zsu7MJe`N}}*o9Yj z^hItB@VHGjJ4$y^1HpG#s8diYa>5v50p~)@B`_^KhPd3!Lk+R%@XS%wTU?!QcRH3D zTAUEVTx3klu`H&X$qVn#Ybp)ZsL^`U@T8T#SOqUD53A={q~-iJqjY}skG-DN+jGAf zvYvG=i)OYhOOArt@gF#y{*2oLe~Zz>5CJtZ#Lm}4#m#rUfyOdu#wQ zrYj_nG()Md66{%Lhu8ncEoM7UW+H&o510HRC}Ow zZoN^CFdEt40<%bfD)4Lmj`dJ zvo);X^p}VN(LQBdwU8h@!Z9?)jJ8{Cq03!Gfdkd5v_~eBV+?k(T~}4MsNo2)O;^1~ zV=wvK+-Y*wg`1YN5@?lQf{8-q>;0h*$1gcjW@Cy!6|YWp2Zwg^-*kI(&TbI-%NeFq zb{4=DvV4rB2{}up0diO$4hoaiZmX7-piPZZE@%2hZIo5QU!U1jPKb^^28@+$E;QOs zg(&YO%kRn!sLqibv`H9HRr~3*+g&!8xa@f9ZZcSn7K@9Sm%>fJ5);oL2-i^(EVp5{qv^f~EXzNKptdNC6RiB^Xb zUPuOGs7E02h9ay2nAlQ4VPep%2+V=1$HhZoCkwCde{C2AQ96nNBD2=8NvjZ$9A*s4 zlPK?wA_4kMNFUFueY9q^5(BTKl_;oDl~bEeg>UQ){5_*ipqW)BXD;tXdqQicH}K1w-+DZecXraOU?v#c~`9XK)i`2FpBLCbF$Mt4CG zvZ&On<2kLDu|zx6$2Qt%qI)f&qv+*1N9!=j9nFYZR(g|mLE*Vk1c=Ld!Nzc zK?ijkCQ_SVvIL8cuu-t*#@usRt+=?4l4x|oVOtAH`Pf5=j(ru{i{}og4MHvWH7=C< zvd>Q=oL;=YhTa)eaqM~)(VS3&T%If6fa@Z`1x!?=r*bRF0w}WP9KOn4>UOsQ&hE_5 zTgeZONiJgQcVJsnj*r1g{EKzC5JiQcfX3ZV>D6-ui9j8o=+;oIR;ZC0Wt%QY=)A3Z z*$fT#X0O{pcK`5N7m9GoR@fcB-X)VjT(5*h%#C{X7gC^}WQu}k14K_DUo!9wDevmr zj=Eh&(&^&xGxy5KdGz zN1{ikO(F>-hp2D!BP}W=1M%iQXV0BX&~;TS08~U&C{fZd2>B_KzP9i<-O#BIXBKyz zHliWguAc=EBFqghDlCiu$s@?|wE_~!a{5$2hYT1#4HaLBs$K?zVqw=Y@Ew4{@=(Ok zXH~OK+dKVxbKY&nrOVyppcgp1)hSQ_BNt9|TU~p3V|3+$IOH`x zy!CVNYaaR+8)AT!iy=V#*sxsyDuliF7$&L6FF7XwS&WC=3r8Qs!Rk-Oz@p_Z;$Zi( z(5JD;<0nqoccGLB&sczNVD zY}Vnn?8+CK`4LBv%gpYQf$JG}_r;^(OqhZE(cPP~9{so%8XO!VpQ9XrKFxvWPLT4j zzEUzwx)*Z3Lm|8TEOUR}t|P=+9m|{4(bRX$ zvnjX#!9g8ld-(iNkc1*jts%+)jI3$j-ut; zRU0-iT2H;Y7qhb#DT5upw)x!fN~ks=pF&pXSyf;$xg_?k?NFP-wksfW7wx(NT})kj z7l#s&(;?%kN?yp(p@J%Wc9%FHct2W1^s>BK>^G*GbQJKX0g5=7Gk|!=gsYH|`>f2) z;DLfqat)U0VgUcd+IRT4oGA_(ONAN|;CE^0>%`)-SC?RFiuV!Vju^y&m5?hO;LIl& zVqb(!DC`{jf$*q978$XG;K(*F36zIxFNT&Va*#jXmz;AhKX(zGq((~bG}ptSe0-t7 z)IB*Dcfn> zB8*y&L3q$iYtzwlY~=3JeZM3M$I1a!u$mzhc#-)?c1mMK>%-+Zgco4>00(BKt8|#~ zUE~KaZt_>>6^1*|(HLm5@2X$E=N5ztIRMfQkBT7xNZ+_$&b1yh)yp}+wqf`-0=jF5 z{9ZERffvLZ8`CR6eqY?QS&t{*_aLo06mCF3Z6hL)p}^NIwO(J<7f%7^LcocLJoUDA zFR^qT^_(w9uD2|~LkFD&pfI$@VvC@q0ANN2lyP+%uGIzIQlDi;)XO0TmP33(VR{7Q zaU66lQDGj3@|4h03!kK5pw`%+In9-pOw>9i{33u-CL_<>t4}$oep-(-%eM?&`gG4} zh!z1pPlaE5Srt_HyJyNU%g*skUk z3R7#D(_gLMl$gbLArt%I7dTCN@f7}Mrkc_^q*7+v58O|hFNJzYhuu>40_n1Ask%$6 zwy_=R1tlr_>fD!ivbwLw|!48%R9H-XT)Zk%iS-D1qM3;A209lt870J!t~$U zF*u7kHgaz=R?XF;SSB`X7 z$+~I!FKb<1)*X6TANjH&_a&Y2lHrn6H1d+E-y`_>vQ^(2?42-5kPQ^IgqPCV<+FbXc`>72Q zKGuG2ustuWw4BHAynX3%JvnQ5N>pB6l5*>oq|FM9)RZOrq-5tlV>Hc8eS0zaZK65w zRo9EW!cs=Xg@s?ICSDZ`GAdv&fh3*o^-B70fw?2EDG5)zMS&q`xL7MA)`$sH^8oo8$1? z7f+hr<=-wTC1-#7@pDcvmJ@rH#~aU~_wc6YzYGW)9+l4xrH;QEW>0@FNxs-m5APTo zO-RWj-N+O*+m^PC)MOPX!I6W52~$FGZO8CDzxNGyjMm)VNoxeFA=#ZzM*5z8mHZrj zGc5STy%%%$H7#(e$s{^Hc~10os>z|emif3gy^&sgHL0?^7&%&{apG!nTuvQmwk^y_K=G10qssZ9ZdK`~{qCn3YNePxR}11>N1es+8n~g&5Fa6N8%?^=7kl zLowadml^{)YM>?7n+z7PGDioU1Z*VC_focX?bfAT{EhKUld|sjcfQVh_j|B}m0*5$QO#AKI`D4lae%eR_ zVM`=v-GOEvPs#^vza)w+=(>sdLDVEB=%|7FL%;JhQm~^_A9UJ4YYjBmK%4Ei_XdWX zKr0SBK>Dw7h`;98LwjbPZ_1Ejc3+*PJ6oE(wyW5T=DNR z%FB!f%=n9&w)?p*r(CL(Wt**<3#BSL6HQ=)0F1_PZJ{KSnk`b3C_;Zg#JA zkMvSVcg;-S?9|n)(8CEoGp!PHFMZ`yq_$jG<-BGhkagFzBb)iUcHs5i>-Bdk2SY#S ze3$<4HtC4HwL!*}U#+ND8Pb{lv9Kd4=w+gObCjadW=42lQ<1m3=x+bcz^gwsD2pjc z2kyH@-L-#JX3QGRw7#?HN%OCM>7|kHG0`+GHN81vByR;&4t_)U;^uDajha?S{F`=* zgMK@r6~(9-f30vb_rP`W*4W*FR1~uVchL0)!-Jk>|2vNb0etbt+AMK4Ual41#9Ta+O z`tfU*0$>^3@Rwg&EU+=?&Fiq%;Jy*1cr4q?O)cv@?^?j2nGMzl&eLF;1eZkj8Z)ZbU|tW&KOK?ok+-()Agga>1zkBL9e@V zN*A~n=)!%i4%hWnum%UvPXfr@t!V43+BID+S1}3et!FE79uOn#(6-_Qev6lqvHtlN zkM%ji4wFPYo(Na1Q-wp}`ujI5(Zr}BRKh)D;YzfWS%_W%(UGL$7KA53T$R#e<<^Is zkC(dt?y@Pl%u~&s~6p+{S!@C=6vZ)aCN&c?S09-F^gSK{14bf<0 z8!ko@Lknf9+L3`+%_Fi88?+EX962-~5w;la2N5!uP~Kv2JK9;&h=?irgyW#9OSLgx5Zt{R zod7ayh7McGVIuY9;Gu13Q-B&9dRPU60w6A6h4=wNC`@Ik-wqVQ+m_j?8#qGjkkjr0 z7kx`30ng|tr8fwa^OeNr`SOFl9IfGI};0Hd39e~~`}(dIA}wkJS=d^|~M1%ICdQCFToM5-~E7k$E6 zrbx^R<#4dVs)3~_CYP_rP|-v(038@?h@j07^BSTmPQdT%@Wd#ovsx7#0XVL1Vuvmq zW@uQ`+We|W&C0J;O@UZtbR!_v=?x3sQy-&aVxpwk&)p^{j#3Kb#21j`A+=OQt~M6t zNIR&GgV2=l0V*o|R>iCQ7osKtCPX`06D%H56JlY9pT#WcN`T030x+liOd;BLNfA~| zOeCJDrgT2qDl#f%dq6DKY*UMtjemxcVEAkq~gscnTvb@Y`8Jpir=Ejg(x_) zqm(XW6{snsEg}xP9`)kTp@3$A{8nCvLI|qlM=}+mFZ-skN$^n@N84^22|>>fx2ik- zNH956pmq+}<(BM=T;1S~dgMzinUA#$# zsI~$`2Zp=4E-OY;3rDm7sA|YfWzKT|#J~j$SF~zVqht0s2aPF3DzqrpZ$`LnHlv1j zy-++F3MloYqpo7x70y!M*=bNQvD){LH3Xu=Zmy!J&BL&cy~E1qv(YTSQ&YPDK%fF( zu#jlCei}r5#V&+0h!r;f+P|9kc$Gt=CsGW=tqy?PL|C<=6WDNlpRc51VU!X<8127^ zgu=a0urrB7xKdYry_uik(!ERzY&S>FEz~AwA}Yb?knzRCq%Mnvy$20B990>x0n$K( ztZN~{zG#fy+C+UC+`ic;2Y_mbh$WFcQ~9JI=DO*Ej?UQDQ{RIoHt4@cx{(R;N3f}` zwligrqH?2z@Mx0Go%`UmpV3VKf>OHUXylUIat~;+nawb|i6t%n3AC6jT+GL~C2h`4 zjE~u;YKV!K!xsQ2^DqeL>ke&q;6lIasnl35Ro}d_*b7lG^&vo4f?W8?f`+>tbx?0#tLpCc$C=h8e=An7PTDuF7 z6%C${S?sBu7g27HT)X#V&ff1}7r&#wVVOj-AEE;}NK%%^l2yzz>Nsn}Ci&QNl|(t* z8l9mRH^k+e^Ugl>yf(bF3#Q?ONi<=cZ1xCkcNz9&YVeQ2$L&||-*RU1a?wwV-2wB2 z+$Nzch>Jc_mahcjK(KXTu*^~73B|HRSD&a4NTDqyZ{#dbz~gi+e!*6!VIg|>>-{hBXBTL(c9n!|56#+j1831I1uzBW|HamsM?)F-|NeQN*~clvW3RJ#t>3TL$Za26e%@!X&a)DG-ONEShB}``rZ4z z_jk_yo#QWu<1h}-=e@k%fgdF8c(J9I6nON*K?8fg^DSObJ57lZeVePoMg6GwokiRO zMme#*m{_wPEi<>=%;xIund`4OM3L+mgsU%Hrw%b1B)ypEVgF9yf)W$Oec36g+GDEf zH(z9R*Ij%wtEM;uj}xnL!rwnOnqzq&#r#+xiA$E)vUmm1%_VGCmeb4x>e(uJKbI!I zi=VNK^2;;e@6`+x3*H zVMIS2xsMy-Hy2DcLHRKevXIzu7UmN1&aAAVEOvDof2oK(V1{1W(*HKJAzH>T+Rjqt=kU*v&#Hngp#K74RXeTio zRvplE-~twfrXx?Yaq*Qh6T8HU>7XKjdDlshAtEeDfHvP|9|uD5q8=9DhyWs-18rVs z9Ek%UQhM~peL*JG(h@G}aePFJdCb{Bf(RFPm;!AU?A%O87HP(2aB%NhqIEhpo?(D8 zT!bV5$Tnz@sAx?xa11N<5I7xUizkvdtqL|y!@43xok#)lIRxS;;voRt_wn_}4O>Vh zE#(rf(E%-iqWN}bCJ(cOi47KnW(anYpWsWg#E?B=%0x(p3|LXY{_TVsED+*qs2y&& zN={0f!3L7$gXyTvOpKyAp00^l3m{MKl=u`EA1_7-+lVmV9*`YCVDbQUI=0J<);XH` zkQ%!z(DcVjI7WigfoK8?R25)DR50fNq|+a)g&ArD68pQ31>LF03#2WLJ-dXssC5Cf zodphOfchM@jKB!E<1>|IHp{@pQ4mrT=TMjDIWUcm({8SrBTLL(2M%mBQo7-s>NOau%lJI}Td-W2UbGePw0U1xRxCn=yKA7f5M z?iFm`A9UT;MRuWH;SLj)F}69JAYAxtyN*Eljw6z$B^~&H_#*Z%59Mu*wj^S-xrkw3 zxc-16QPpQDKxm}lG$+ZPN^AGXdXtsq$Oku!12h3D*){$KPU3zqVO$FEXWv@n-ts<& zU%wG)EWlhBlM)r+9uVdKaxf^-IK#yWo5P(6Uo;i$y>v>{F5v$60sFJfu%E-JV&Z+^7x> z;aH#uRkrSe8!;n;Kn8ITfd&B0d5B2dqU-=a|6yhev}poda)nHKv8118;W6GVPc|e+ z$A<)CwsKH$#G;&3N!1?;@lWozd8p6Q!plGTigkoUs}Sah8&boa#80@VZ795zC7BGt z-y66^J#b4j;neN~ko<6s;@M>4muAn##!3OV<*>Vg?k6Zc2o_Hk2lk%4{D)Syn~p%y zQNir81J)aGg}xa#-G!=2qk}FIJd7M4|A-j8!=2zs0y5Y*wRnjq3BG@|JlZE@^j#F= zm{?8brER2hp$x+5^QhARG)I?o9Q1s;OGfgJ`Z7`Z7^Up+Il=-xKZtWi_)Q3Y-BM|* z3u9#>I>3W8+TqsU;(s^xggg}m0?;+4n}5&a-NBXmZ>mgUoe~-F^xRdiF?=W)_Xf(% zWGHGarfZB>pg`0*KdmWxqhR0-c~u#hDT}s~?xVc|J?Wfy@iD z573K@)Ga&+oF%U?YR30fAImLm4ll1Bdwv@Gf=op*X{hGJ3>Z=QdR>S~?|l)FScAa7 z5c9#=a9zKh*jT$$z3Uuql_~LACU=cUn3X%-KS)Tf#CZ&9<_ZXLe8Q}WM@)tI3LEE2 z2E9J}n?B8ury9UhKq6OV^%EnGRS*tXAUxPRT83b7C1{c*XP&juhZUs=Pw6t_vV1TG zEHs6RY&Jz5CiumAmH&e^@UXKcTKsD&031y5-g*xGHViF=RI8 z1UuG>7dt#d@L?bhA#GK;4J%ZFzkndhc8PMwDLuV|U}C=CZcI%S%jNr`$>+^GZd zwgAlDpxReIO9KFe6&rPjj^t=2!rJIONx!x&@$32w;Z>IF+9D|8pR`8Tc+-=##w(s> z<34J7c-3z*5W^c&5Gwp~)2DUk1M}IOWX-teHWh@>q>XFjw%??bS%;K`tduQtn%gs# z8XS;jECQ*Cu#b#D9D9xXVSSj(D*E&~Hd^97vHgB2+SIXKgqtz+9N(NE{x;#d`B?j2 z%BBXtv`x>_wk)M>+kL}^0|YT{ETs~{aVUKNxWq|f2;fmSbRad|Fh9zA!)doKk6OiC zLC&@cU_*;ntNd@tN)Ec z;5;8`QpWN5BK|S7e(Y!IDJm*bRxCQWXwQQp;qIc5S>$0NAiT3ULrZL$S$x|QlU;lL zG8at!ifTUHR}G3SF)1p<4){>1_-gZekaa*`k&E;F(+G~e+(!B#Ul!oBqDb6bCf z&O2e|#;`$#2gwK~#n~qL#1O(A^4Oy?% zh0?&?e0Hxj!F64H#JIlws{O~jZC8E67?MY5m)O`C9uRJP)WXK#V$L|@<@gUzrL0}I zk9H`V{$f4aNGKKf+I<1a`S|dS=Us?h^V`$x4)qmjTzxY?(Cjm@{#CN%{e}B?cvXbu9ZV_A0c&0!aic(n9t9(gS{V5eI$7)r722$ zyomG{Ab0bCo{I?o$wKdBGGFn>hhLMU7e8O~`PEsDV-pQN`KPO~5&cd$xzQH~FZ@k>!oEqzwpW1pvBSc7moIxr9Oe>q%Q$=HgIfAM&DN*OI#Czigj&ctUeI+Q% z=L*oqL<5O+Ol(OFR`~C9(fgTe^^@Iovx#rQ_DHb@0qYOf=>r91ar)3UMLMGPE^921Q~k7lO9E((hP= z!m(%?u&zDLKGeJU6ktdtR_?-nFoj;s=DW4b*(&=pU(G>B04P@*U`oN`<=YwAX61L+ zxuB$hB$10vC(9w2Xu~u`)6lrA*a4)aFShIbT{G3?twb^$+Rv2ZLR7)X{4LSKiacQi$z}m{<&S#+=9UYS^i>*)DLP#X1r0{N5 z{++AWQbMBQZ|1K4$X)*Pv7`Cf{Li6BX(4S74d4CzUHIzti`Jg`my)Gbgpc(}e2H z9q;a?J{Xwj?<AW!xH|``{AbNO>1kczBMSvY z`B5`3x4dqy$gAywgSK;xTZW!W_N}b0{h9yudlEt*f7NZ7Sy}#7N3N}WvHWL#ra>}2 zrwEoc=I0mZmlx+7luK&6hQIg!`8zp3voKSu1mT5Yy&qvQaz{14-V9h3LFcvn_vx| zmX?%9?|(`Ufn5Sv=1(5)Iz*3xv$o}I$wgk(a+T&UfjsO9P>A$J9)D3_1v?BqMI4U= z)_jpX>@C2OKO^l7t0|pMS9_mh2Am9G|coH>v#ce=eaXovdS1kK1j*}Jx?zGN#$ zYhAH^?EDHo(SCe9*P0xyBrSjF&yvLbL%HVHRi>WVoi{C9%06`0)6xpP@x-k6NN@Lr z-U^E&ht#hIobN32nC%6JOx}}gj{bPvZEx@DoWC?v(A~Z`{q@yy=db(Kp!pqw5*oLd znxgc%1%LDX6^D$0y#_1uTTVXj^X)CWp^NaD3Ac&;cE7v-P9Nb)Q>E>Wz9Wr5xTvh{ z@pDf@1A<>#uS8)3sUwZQh3XZi*7cHEiYn#>8HdJw&2)b5ynHgB%5>pgx3(M99(~>E zMJwz*?-HR9>Bz;ZPB*C@7J*o7GxH?W%YOS~{Wmy5?nZHpIi zTcjhwBQ-rK>f86Z#3IEED`1Tq8Qv;FqfpJn@lD|=MB#BbwRhv~j_}JoT(||av%eUS z_MW@ZRzl&KVaZ4R*SSd9{Q^OQR2=VFxCKgn8ydOJO@+{V&TNVh-p;0)LOx7Z6aKI! zvtC}Tjbc_2LLxT;ldroE<1yI`1aZp&6RyYwI=@*o$ATYOX~`frkTfOfjUvuuDufpk z1}wze_Yol>U|7OhG~T0O*x2OE5P>X2;xvhGCn+OENEEsl=tHOBKr($*6JsWC0!Z(X z1boHS3@c0tYCZfGyk>sA2@XNz7gY0eXy$-N+;oe`W;(T1!rO{t3gI*2|XWEY(r`CN>&e#Cq) z*~`UB(o>BCNjr1AEI=m;qfy0##L2^ME-3s^eQr+h3y;)>qL5CSK4!Q+X)1&^hRb>2 zr5bDm(umG6LyD;#gb<43%AZkE`Yf}(GRWW5y;wgEO!lS!*!}gm6-{h_WKN@k)(n=i zG)cHTMnspw(#IvOqRWxd1!Jw3@q5Y;6QGTTpw{$N4HAT%MfTw4^~kUs#?j z53&C|%G{J3GI~cI+4nf>(i1XTJ`fQ$2O>4z5|q?Q5OQ6gk3C?eV#aVVL5c%V%QmX` z0;`Dt@FNJrs+iO^ON1^xT-%tQC=DkwXTq6OwXOR-SzOUlMylK-8T@oBR)NZ3>g4C* zkZM$+d))2nTtSEm3BdSgW#)7+w2W4Bu`!H?#`-e^1`&erY~WljK(M7F|TG_T3;Dj%N}Kvrv=`F_dwJV_hNR5(+BW}8%xRh#^pGR2jN7zC|W*AZ`PDdk8>FCU9W2a@V{N#5~ znALz5O_iH@9euCM`ltJ%>xM91qgW_CQj)=p#2AtT^SY=a4OuCeGkh>FgiD^N0>jRn z)iF5s&^0kwyt(tcqDvMa?ZHK=5S0U&TSiFx&xgMf^@pO3CjEHrpPKRNn+nP_O;x`{ zgOb#EArCGLNO~W+uBklcZ+ZD$!4Wyq zySi*kMS@6fv$bpd7nvKA!^%Zd1iQIujCoYP+sxZHIr=FC!GjUxhyK$lRYH# zxTZvi4M|Oy#0PgZD&aWWl6P0S0R}BQtzU~G@{xo<4yk#XW+Ej_2X<(4QL1z#!s~6y zO}pOptsy3HC*6FputNV#Mgy?{0O3Vr7hzT$SJa<^*68A*cfO3h^DU%LUrDX3*?Qc0 zI_aCyLXfb{n{RkEy2qv{6aB=qRsKOqpJL&)8Cx4(^j*jIC>kEb(wLCO1K{wwve5yt z@*>N-7cvZo%gBM8l9BqjU}6LwAZLhVzSAu@2(W9=kFHsKWjWp4qonu;NIa3v9!q9o zO*r*kSSnNBx?aSK?{HYz+td$=EW5nTj|o zaXE))=}m{`u`oL?<8 z6-LeLsYblITet$tn*E)dul=;?Xf?8Pf}}TwF50m{$m`%r-`@54%hgHivjNTlxq`^1 zl2>cdQXOESn=y(;YdoCz@PfishlNA}XDKo}?Ai;rzcRp82LNI)2 zrI#7llVm_YkaCc5m{Lc zCe#P+opv6)c}-|gWd*=E5Df)n!q#Jlrg?w}3#i;EPhAN8bM9n~VR<{e0T) zX{3YzOcz|U9wW@~ae9EpPBdnPBWrEq{yo+`Z&z^ix~14(qO}S9LFhOEA7?Rs-jg2p zsYA(V;q3BQl>GuTmXFlqffDxT6BytgI^xH1hFVQjl5~P_AcNq8?K^@2OSdQEybtaC?-;xjy2?gi=?EHt*%2p;$hpUK$0-f=fb_qrkLe}R&9V%u$>!Mm`oWirX4e_y**TnW7qO^tU1{S#W z%8if$j1EgrZV_XU8kbwZg#52)2T8bJ_T=?|yM7P^46^qP;8s-B8;7K?;P$u3rW-0uk?hlZ!$3FH{6^}Dh_mUlexT+o_Wt-EyqEo zUoZ9s?p8*ztUm=bVcHhQA=8;&>P!zB9do}s&hvHDi+w52F0JT-mD+G;AV28`@OH#kdnmytEeN%$jYnmqj zoo&qt*@s%Mx%<24;!AWwm3|fw;~iA!ifeEUnfLY#a6_C3n?8FFb2}=)C(MP1yv0R{ zoFp8rxm51p;AF~1-9CQ*rki^`L5_%ar+I1nlV#d&9JNj|Db60WR@l^+wm&>Tf`&ej z>G#S6OXp^JF{7RYxmOmY?oY@y)R2K)0tW!N@+4h^lIlRad^hmE3K`1}lJpBx91?xE z;jRIwom^e~IupoGgM1hl7JrDLic_QT1>}7jRGZO0m0q?i=!f)y8@FYhQt#Dwi|b+o zo^1$C6QEt#)|qr%C_qbN-4^Vlt9WFb4ve&T@bKBmoS|cdUd@CwTB&N4PxGFn825+% zyHZvwQeXF6FeMXd0LuH*bwmfjlT7@X8MoEcE@7S!O2n*Fjh`I3(mp0(yzTaxBl2$w z(a(KzH-!UG1!PSH_GDb3v4H+|x8WTG^CxBN0+WRXRnv+GBu@#RjKmy;oyOG-<%C?R zy}rR$JY`-CN>x81CbbUleJO*IFes}-BF;)NxgwRnn|R4QgMY%&t+HZKK#-sk-N;rQ z8_p?coD!S7{TM%3Zn*N8dX>2C=VOzfV*fo;X$K*}6Tm4T_FJ7tev0e-N1tHt@E;4y z6?Y!A7W;p%-rO@Y-#a*!o6DK#&Pk4rXsx{3+SGJA?Lcp9`j`Hmj<(my7j-+EpQL4G zvXf$a8vI&b)K-2Pe*7>irQ}&nN!-(lvbj1*Soc`_>s{9TwY$>fdz0IX7qwwAUf=tB zCYsIG{#LGxJ$zGrue&aQ72r4ANV$JEZgy(=X|nc@mlnJLVSO|rx<#;_!PV$XNAL^Op@jjGSzFipW z=H}!biqa9UoXka^Gm8|Rr{uL4s&Mys$Y`;A|tmhAz*9yUGj(2UcC+BC!*@=Y1&=mP(Rb8L)B! zD=jtYXWsMV>5gipO><6cd05bxX(7YiV^|MqX;1g!_}Q@i`Z(G2eNn8YBv=N4B^O05 zlkUh*%BH6u@MCy7>$^Zpf;VU1;u?MER~Vc7&$Z(unE7D-^;CZ}omUt7CD9!^KX zRc*Ml{jZ!n|F5h3Pa%0J|1UfFQWw@tVCMMDOI-*Oh69zboB~HF;ke~YgBqN;{QuRG zwnw?tSln#gn`%y8b0P`1b9jN}W*W9+cvk*|kE;0%O}#wHrAuFH6^+a*)vP64+OKWi zRq|qqw=W?}FVg9)b(iXgYfRt)DHZeKKrYQ^BHc#voMpI<&-1kL~7f z9uFF3Glu~WA1=kU`MQo}SScs>`A3U`?=QUQ`1Ju@s)~Hxkv}o_{K5kJ&44n*5;`mn^%&E=R17wXW(uXqjBjKUeK) z@!UV=&yN+6vEie2K?lDd43*t{*~Y(T8f##Z|JhPWvj%fdeWv4_b3odyVOulKhQe?A zlI0iLJX5$J7H<@%yiaMJO&`Mh@;=5J&aBQyFlsS z;0VIrDK!W(xD%%gDP$#)Ej^M=JZ^c&O}Uw1k@`@)b+W)MS{w!U+SGp<9!a@8TZ5D{ zZY_I!m}oNRg9WHm4pU;6v6Z~Km=&XW1D*x680vA>*%sLCL^_04@MFhFDR5Yg=neWV z$h~(Ji<}A<`5!Tb+2U~!QAC?=S#0OOfW%2l(m;f;ACoKWPOPXGj!?_3CkSh@_o3W5 z^cWe{aR&2F)@@BR-uiajqsy!LHyIKj9C|%f%!ATGX2DrY zxXnbb7e>m*B2jp+M6SFIV=$6H#DV~D5!!xN`SMI7W&;^nacJ+EF0uHxht4=;()4%G zxYS)9Y^qqaEw!p6Y6cO5N9nG6gCI_GI$YRpFA#~v0G01m;+sC|DLFnei%_1(+VWVz zQ|ZbM3AZkK%HH*+GAhKXL6`thiU+L;M7;NI5qi`>G~|`-A3R~HMzr`Dsm6{KiZG`%5v%g18v(a7 z;f>%=*s2d+p|j$q+kWnduDZ21S|e;7~ELPtihl z{D@tF5oi(()FS0V2>vG|lN!sh29@5Qx7@=A3ENpN;y2=s&wkpMwokG|d5IG%;onBM zw&Ruj_7$NsbV>16mtME&2in+#{k0UfJ6*0R;Jz|c3Y;8?$r}+ zR+7)m!?Mxh$QlIcI9W+1n4dPGZ-O{Zj3jl{iz~80R3|Ua!c!-;ZJWEN^m#?A9+$KX zwMKO#cCtR)89t~_RhXb6j-+)4t;xNXjs4N4Xal#2$mRyam#s+yDTuR0Od&@eb5nl| zWbH7NRN}YKRRxnJ=^H7M#yJqGds*DiDoRLaF;WRh#bWe9)B!;<*5|V3fc)8;qSNaT z2rz|bTwDys0n}c)324UyB(mVXY!MZj>;JH6N7~`ghO>&-fky08fELPOiTV-i#dWC> zj<@U(N3BfFtAh@Q98cGj=xfzq$xZQZi;NbG$0`fcnLDhgkSJCQCr^*UGL_Y|uea|{ zoOy2P5Dp#lYPGz48;bx;AiX#$(vyxjfN9^)4;hj;bY!RMA1TW(6FjfIw#ghbC8gKaaKEQ zOS>_j4(SR%<;1$1Bg#D^I2ZF3Gv37}Pg;L^yGPvc`uI8FfkxAyb>TSxGtNY$(W7O? zqhgwTrY`7p#i<}&pV~&pdVdK&B~G0ajg1plIn`%BxW`w4L2Zy4FiVkYP*rgBV&eUU z(7RR{+qdVXF-{|3;p~aRSNGfyH5WjNlv_1VKNKwFdisXpkSG)fo;s0F(9|`l*5jCN zdbh~p&sQsFQ|fW9yp*u6*tXcRY0ajM^0f|>9_3nD z>)&w|O}Ix*W(xWP>V!aYgeZ*+1$aze5<7ob#jK^)wxU&t&4}n9UJT43g6K3LMy4oD z3sa2O+L3r8xJDWEH_r0Z-zRYhL&>)5q^tnpypaj~u63o0j7F%zaMUk-NyxgWDbeNr zz)IDLtgzGjCF&W_Qm~|=lViQO8Zmq$Hfa04wH+2^Z$8LsH}JIQToJOgNShw^wpDjd z{)X*C?+Un0&(F9h<4rKut03ZmH_|y`_e7^*;NzW|X~wo&QjQgV7cu@d75iYb=gX7B z^|x(Cy)T|Tb{N*Rnl}?rk5@G;vli`pU zVTu0~k@OTQTDTzbc}PuZC#C+XFTyF5BX^QSF;&l|p5B1!Q{G(_juh??^k}`~9!NGqHhu!VHAY{+lkKk;wMYA%h%+3f z?r#=_NG8!EjVeLZ+}7u1Q94(EVF7cSorlV18U6k|eaxqWmeB+}y8P##|#kVEp|oYRGiq?J^o{3E1Vr4BO?Z zlS>^tcWWY;vM<8&ocHc( zv3UkYj1QdRpu7QF^i#AJ4WYqDGF4o6&eG3sBh1rLMuBLYl%FhX^R&Or_kt@s>Z6W# z5M#;K`^E$j3eEFb^x27W1_#=C6f%O0GL5O%gnP3_+ViUSwcBhv`XiXEsl(2hdS;Iz*?V z0;S|va^p|6#e~A|96|b1?K6*EYRZoZt&vE%l33kiyJVi&AmtV^PO`5|Oms-RVSiz` zP`a@v(QD^{MxUf7XMHzTCt1n3j%+;rPBSRA+OF&D)%W`0;ze;^Jd#3UVMkmPb7Y6| zJfU%v4r_RY+_tsdR0$OO3?S`=67#D`1Hsy z$p2bfZAoP&1qGqHpBE1Ich{t5*1oLkZgQ+>{nGwLko~a!MeCR1t&q!g1Y9U zyH5w3FTStzY-wpJE-C5j<+bD&u}Yr5?d!gK`+C!@oX<_UPl{MYx3jZT(#A%<55KAI z{akxBHlc4~zNq{6(x0BP$KAa5Z=T(`H@v+1g*OiKr@lYme7CH8xN*-^o%-6}vd^s* zwY`($W1U~>yuW;?pX^9^nqQQXey_5sBr!O;k3V{q^-xP3`J$q*FgdWLwn++!o@>+` z>z?_#uyXyPeQz&+{^#J6=l9zyqVpTS{G1x99b342y>Ow+d;Ukq@bCGWw)V=>l9f88 zsYY$i%f{Y^q@4Vc=8D|fs+VPXAr*IWy#j*Y&aP&M2DiQ&8Gik?{YBSkNB8x64_5yy zbk8l_iT1r7=so(+8F7GB4T-cFV`W2I5;QI8-oB_S%~erwTo zc1l(6htHL7r{?A+R>z7M!P$4CuK!*A**vlG}#{t;0rOGQ8dRB=JSY?u=fp{;4DX& zLku5i@Co*>-1c8oDVPBacisNW=KeQ51s`kh5eFlOVRA4GIsS*Ef*HmzAaQi{f4JH> zxs9>HV%FJK75}cb9iG_^#o|pV{}XwtJ=^*}VBlw+IUnx9O*jRcs-lj2THiK>wmvTY zScseYdv#2rr28QZ2L9UqUUTF4;WadS|7#|-iN`! zM)|W7JurFd{oR_$U;M^@VBoOnKQrSWA3A@?8C#kce22lnN-)Z7aTX>|{WV%&2hf^) z?==w*m}sJ5bs`*J;@7@cHk}x~1q1NNRtFBcA68Fbb&INKkY_%q$a}FGL3PKXA?Aki zaa*J!iwYpuwJ8yaqV85wv5G1~rqWV&R0z8)&qF6$jed4b+ccHhfD&&L5XkbBVpg)8 z|9Gwtk_JzaNYREG(8n`-2hz@_=~^r3R?emvOy&Q`q#Agh&r~_c;3AM(tE!PWU$j;c zGbd2x1Jy>vX5-xx=uD5igne4)L*T+U;jTw}yn0IVyxxyO_F0UnX;zzAilO^y*>Q)$ zDGP$pndo(`pQUf69#c(z37?sGSd4GiGAVCZmM&|O{_@2(EA5Zgqqh0((u~rX#S|l( zI<1uAWc=C5r~P4>Tb$o}K6gEtZF_3!*|*H@soKfonHL}5t+guGuzB)0ozsP1xmYkY z|MQW{%8XEX!XB-NxXk&NjiLs>CNG;0N`%I;cNPf+C(UK1ZUUMA|#Th@^xBOa} zvD&uRd-k&4{XfYnwj-~q(%`YjjV zY@2QFa?l=Mr&)+t_rU3TTOe&)i(g^c;*h=Tr};tIS4NZlNAFDC`5IOsQvLS4OM9}> z-8dS8A1~~rUmE!8&EiDq7-{!tgtgADyr9DuvnRG(xcF&6NTSnnSMxnAE~|i|U_!NS=y*=JH1C|TVbur8J0|_B8dfIl#pPia zS?;3zR9LtHQ-{=6@;lg9d3!$ zOaB_AO7#3pWSu!pI)8KDxZXCO+Lc6(Q$}gNu+MdA-8{w3#i}Atedw2UPn50>iH32$ zE3EYN8py&lF6IZxDmA3?zCx=lx-+S%!e{%SeXngN_FuZEt14r^X`9~YR`vFf`_B5i zGmhxYUc6HJO;cgSK-y0Qob#Xx(7jAG4g&W}pUDq-jgZLNpCvGq-R2%s>^8LZmiYmD z=c1+c10J>0vBkBLn*z?YyPlkJntv-TRLa9it5Frd-vJlTo<|7O=}IG;oeZ4gUk3(v zIrNIlD%)l42*Z}S6a;=VXpcE?{x(ay_Q1Hq{PfFEURT_9Yu96dr*yDas`v`4XXdSg zsr=})g4$o{4<$^{RFbvn<(+W@tV;*7)C4ihZQQrA)KM$O{<&gAr&u(+6jKV$n=iw6;7KIoBt5Fkw_x1hBabzY>+h^>{^j0BgbL z?i`Enxq4mTI)ElkJ4};Y1Xx$Jh3}LNe5tpS~Q&Jx>y5_ zL2n?E$wJ4pO_RSMHAjk$#fv3TA$z{5m^7s&6w8JV@=e6BWN^!mk#vvXJDYO8AR|0X zow=RJI^pGHLJd{IXZVOAh{3dF=A}TV;&BSrl(b~(&!gM;?uSnVQSzn*%g^9F

    8+ro3``Uu1t5mQ%#^qOFsbZZ%6H9}5NiYO5%?Y8-WF z5Eo`Hv1^Z^NXr7Tn5=Ahdz%!5E5=HN?3ASA)~Lm?lkXpRQ~sN_1GdmYLcJU=Pj!2g zA5Yb)Xg!=WDW6N(jMbKvy-n>%_dJSC_VV1M^ZX0b23lzyk;|_M86K#qzPl?cUn8K- znPGj}_;3-@QrVl$@97=*BS5fHiMlo9NQmENx{V<+kFK-6+@#`Az>pQo4iHTZya8;B zP`&(;e0=LxStY~*J*%eJVGiAn17|3Vkzq&*Gb^Tucqi7tgv*@$%nLg;?% z@3athSu7)xHF`+{ab&)}wA0!rH?-)*EnQ#>ykJVC>8O~9WUoCNMWhck`5Wg3X&)5) z)Y?_AY`7E#%=|7n2OKP10D*)pb~+neJ{u-C1&fTe>dNeh*)6*3$X$$x70-((075>p zs%PjWAi)q>O)p^+xNj)Fem@Z$H^9K|bPaXS7LE*klIHVIyS<>N(2(#gD-X9)! zHn}k2j`}h7R~;X$(R^N(pIiv>Ov2lOZxyzh(+Rz2ESHpu0?~q6M}#(=D!Wjc6~*OR zhnQj7l|Ru4_qR1J1f z4gBAgU&_BEtB7STA2#15>--S*;uE**0(`{3UvKoz=Z~fNvry6EZCPwPGosIRlkXyH zhW*|Rc&tgPh*0%0^D=k++6U)8J>TzTbH=&~Rza*@<=OuRjPhW$w8|TGZzh{XLlfJ$ zhGAw>w~)vB7rI)S09Eq4@UMFpBR4|}rD}{uI2^p{^UHq(6^{ck8YMwU#Q}XA$w;VK zP)*M&L;dEDit|2=pLl)4j)#iCH1)42v4Y$!XU?%Xvhe=CIp7dcuh3n0upuNojWmW6 z1htHGmHWj{Y;q)&?BG{hv~s2*H#JsD2ehrCup28yRRXfO9l68o>k-7Ion?lHt}MT9suOPbdhvE5EN|sD zK})l7xGwYNL5(9)P>2JNr3W`8N}YGSL#As<>2_66@M4oaE#fb_Fu$cgOn^1g%VvsM zSVGNwRJkn?@6D$Qy~d=Gj#V(%y7?}+t3ZW?UysY{FcRbiM`$5?2#rjVtyQRt6<+ljgtT?Y5ba$w_#i8n(vO^V!b(`6zIb4#`G4SsjV_1 zfomyBo6+RrIkOYZyzgVdS7Ji0MhN0xByG5)BOmO4Upw z`-vzsQS%65i*$wak#G*l`<*pHv{|2J`l{fP%$STw&!NfpdOizX&E=GgU~qAD6$wMQ zIK+&MMn#_L%3)7c4o-i+tf^#yYFwft@qtD4wWHucEF^%99_Kc9vbTu zvx+*(GDvFX&-6~>CN9NDD|zizDBkAx8O#f7F0RkxQ~lQ&w2`Vri{ENzh`A_= zeYw&F!fckLYYFWJ(h+E*!>6^0J{g;SmVRgm|H<9`1HTj~TK!}Y z2wyyA-+;H9j}~(S|6-FdN=q!8n)v|q7d(ag0gC?++pallHXW^4l+u5v0bfNQyTM&u zcFl*ZfOy|Tn_E9W zIi3fDn3&EUr~xF0TYbq|@lf)Vv)g$d8=OtFQ7r$(G1fKSEIBe?r7SY|Mi_Tp4=ZYZ z*J8{{KWY6_3M~ry3oM@&aa%G`}YQ8d5xm(@Ffs&F2uOD2fY(M1d zl7BR1$Qf)sjoKPAX-gOBnelOi()&BZvn14;iAs4u#QxUv{;AEs4bx|;>lI#q4m~N{e?Hp(MU+(8 zj9+8<3Dc#v`1d`QzP0-eS&_v~9D|9a2;u)W4z8)G$&>U7aC$xCjiNz=KupGCzpL_m zA9IS%t-G8D=b^@x9bHU8+W^5MD&N!@$GB`QzqX`!h?z}DNU;;SYz32FZ+>QMZ-x8i z9fH`r$P>-U_W}chLVi(3j7zV_w?7mH+bbBnTYWBOh$0H3`mbPYRSdf#eiHX8ryvnkjKyTpuvX%MKbDW}D2((;$`AME zlyX{FN?B0T*WQknPYIR3ckx4cIgsF&pjT5_3m_^hr?KxJCb85k6dNK2$Ia!u*!wgT z@ndY?r+m8&7K9c#T!=GA1{tfFNyuTE?bu_IQg8Oe35N)OCHS)RP>W(Wxwh2lvs;Nxw%g;vQOvi zH0@9P3U^Tqd?VQ zYBKoNE+36L@?c+@{D_e#J?7hM9JvFDJx0a}Jt<|fN%m0&uwG*)l~OT-YpcBp1_ssy zy->bRAf<`j0;}7M44_|q29huZH7~pj9{uX`z>oBFzkXs!Q~=2&k*L#%2)Bc9&Hn^3 z=Mtj#1?+l#cjYvLD1{HV>LA85`W|uXfjffdj-tJsk4eEsg-AjrKwE>Swfxpmc6d0n ze~yKJUl@45QMi;qrBRJ88YTE$XCF?&lFH2r>KH6Tsx$SN0_N}J@ zS+~2EScm7)tF}$lVaz~#eqQ^$Z@+}?KA@_8tT>V$(}~Nv6>{(5)1g8{bjQ9q+DP&@ zpM{9y3Cdz|7(tSYeDbLr}-3K-8f-WI6z9yTVQvk#BKmvnHnL29r z&)-_L)v$@Zxen8DA;z^*X|t!|6KXQOpZa{einO8DnQ7=)H77e*sV7 zsK(m=Az(XwImZ45G3to@b({{eo0XFFDKbgYPG69`lM|3{_Z*$y+f!M#64DwxMMs^z(?+pYfI-O50`DQwcSN4;j(?wxJv@8JsQwmCo0cH7-Jgq;4I;&+ z9NJoRGMMA0kxN*wP3b$_a=;=th|M5tc#(lkZ&SB3J|1d|I-&yP6l1j~S$gAiqCepT zkLtwmunT6Yc32^%ZjCL{^S9E*;(V$L4pf)Ycextq{mxDROAog&MONt}QeVr7-5d9B z<8!32*NxjItQK+RjC-BJbOWV2qHoc?n7aZIbteMaAwgYqkZP}+>U9y#TX>^l!cQD~ zJ>#TH_aPvqai46g^c2KDQG$T^@|~G%qojIO31fvg7d z;UX&=)hu3eTR5}tk(18CjVW`)SPNK_gAfA;(Z6?mCDwYJ_?b=XsK}KXVpExww1~I& z@|<4!9GZvh-yTE~#svD_iagU%FS^S{Gkd=0AUG&7lEu{FX@t znMUGwZEZ7Q`pF^dZC8i|8N~XT-0c`br%QjO${C)m{LYP@v*__dFZhCVNKxP3v6+z*5+N z6MZelb>nebUesrYZBQJA?GEy1yVGES*g+Fyin=A+$L<92r5@go-oqc0^av;Os zXe3ASGiJ7bNnO1^A4VCO={q#{0yfk@cmmUQ%>JmAlj@m@30qiJ732YJSrt~*1{HQe zN=9}2U8jfK+NOpu8~-|)I(L{Fzf4AalaJSu4zkKJ9jpC`)b+<6wiej85{tk#Ugn<( zR|9~WVlmoR!AI6l!JPAUuu2k`Y2$jBEiF?IQTY95$mong92#;x&L<<+OeHp@n5rAq z%afjpx0$J;R8KpcwEb&5X475^O+Sb|Z9j@~_C~$SEm#GVXS}g|UBRDWHt~G<3O0#{ zwd6Z_^(4zw$SV4I_*}_K3>N)8q{yyL8^puB>(6en8WRte2nhXR^0(*St!C|=^UF9O zD;ySA8)-ieAdU=4O})JhRyY#8P)JMcBkpw z`ELTT+nc~;J_TAsz;g-Vo7>YD@1XBX4_35@D8cZTsR2B=k0UpJQ6W;N3ER}xDiX;e zU17F35>$ljmAGH;A_jp!nIOh%2YPH1soP1JlDI+c?ny%I&mj_&Vru?S9l$SnAkPCv=<}?H224568uc#NQ4;Kmm;MdO^{|_bl-<9a;{*hc!)<~G6L-BSQ`i?#2 z)R3SBs^9rd9?e)1S<^MlWJzR(lrRH|``u1v){c&bitA}c!<};dlOCs!r?kiChyOF4 zU{;v*XFNd~qa7nul}fz~@6ULGID>zUC-5-$PuV}7rdgc1@r-`9w?G^~Fb);v*Q>+| z&Lsq;u5FDChjMLBZW};Lej}Y=?h0BVf%n+7MoUf&`+K`w{4)NSj`$`KZzUd78Sr1W zr#sd#yFfAfV|#tB*Tb<=gf`oH2Bq2p#JYo5sEP1WtElyv+F_oJ(6R7;sa%mk4R!*5 zyG4W0=pzQgS5>|?Qgf6oIC-5{CXs9-6k0fA!;gc^%~%?L=J?HZ!0sml^s8A zJj97b+DuvoVl}539s22%p&J&|I?fW->cCc-HPzQD0T7?$8&l64Drb32@Q4(J9Mc}? z)Rs@l7MdlvVg}O(puv# z_Riht517;KSWT`-)JZkTG;o0_J<+7K5arCa7hxHZ5OOe<`waUf3z(?@aY~>DKaq5m zAM%{aHL-1h%DXsLTeFioBXEZ^_c%qEL3GT=JaXOgW%0-t%QWRpp^YYLTa)ljhWGMI z+m04<(1Csy+b2*<18EXT8}%>gL)V}(!g}H>-%CQHvyofrBw{5zqVTbBLxGS0(SAeT zN8m;0y|E6eR8BS*kIh}$hPg&&CO5l-a}!TGPM3WgZOst=_YCJ(A!>mYRjT+YPiF`> z0lO%?ss?QLnoa)BIhw`DjI%Fq13=E}O~KcmCC}etW1-tA{Vz_DkD0HW-I~cCLY!&2 z-}-gJD8ae(d%_g4gmKov;*RjKd2(Tv8W!28<6L+8P_<9Xw`U?uSkagBEsM=H$xp4# zSe_xTFwVk*-*8paPJqOwR5|`tLuSG1iUid;gya0F?(1((5v;6lB`&wRDCdSy2cKql z|C!(+38fcw+8Z_Kwod*`XIOb>=Tel<4-EA`0V-6x$6AmdaLNX0CIt zu2;)?e;z7%Y^1!JwOO!?0f}tl7dv=VDtd5bJg%xMoB1p>)CGH#7nRF{+O&_WZ587C zX(ci4v29gIM6BUGyTGq*S11dU=98`~)+qxQBp8(ue0gg%d{8zrE_?Z}^YkvY()@~25gn-~AQF1)qy;%|q}1RQ zXf*P0t!TPlAW&}*Sr;w-P1Tmny7OBAf}>OOy40xG=rCD_49aQ(%i{H281&^l7HySSTL#!Xa5tL7(U!soU_Mk^~k)-v2a zut>R%lsv8_rGl2KVbm6F$Z%;w&F?z+Wb@x?=wt2)PZG|_uLt~xfT3V;;TYi+_xBBw zP9VS))U&Ur7(y2ES@KM3KHJ@nch~j~^jrxYf1uw7h!WW`*rkX=^`Lm*aDw%dT^)Bx z5y=jQHCnbcVbFsAHqhr78uj5`Al-7)A_s%gTl<8jberu^Udl)pQk~&IbzyF?JPsbg zbnU?G^lYncJT_y-b0;zEox9>kbUn__b|6YWpX~m|iz&JSRKFKtTFovfwckTtN_89DM`vD2K&o>=OMqlQ}nD3Ue)S$u+D$&~B7 zFtdd9EIQki9ef!6q2Zz4kSon`(9TO$WiW&goIq0_&_m|46#xlugxujm`f1+a{_>M$ zdj=Np7NL!&T6fjWN-i%=g*SdNW@g1bbCIlaGx%Na54UQFUFYledzZW*+qas!gRjqy z=)eID)S9n9D732Bn-d&XNp7^DWyA6AQUnw7c?vsI|1k+lGHr=;c zH;Wm#C~NDLk9+8F%avQnHU84+8BM_ zJ1%r@TnMzUK<(Oz-HEG3&y$nv<~diwumIQHT(;l|HIPG62!6mRplIOj`x4}B#dK{+ zbwNjXYC0XB@B8(X>2DrEC;F6A9skpXNz(@zfZq5&AmlwT9G@e{rg5$`AF73sL4K-% zOiNp4^zG-ksh+7WYe)GPYejV5dAcSI(=61-EFn)(?mPzh5&^22b^eb(E%K;ZA}Y^uD(0#{zHL)n!#VGi?Sl95Nn|`7XSU;ujp4)a|e1 zObv+JBci6+<1G=wT3A+FBSGg93k$KU^hirkVFj>nSLq66#+OGfThwh-RnMK#Y>*>!mu9m9v#};d-@f6=>z-CYBMX zZbNJ7a5Y!BWqDYc9$0YceVB8(bp@X-CxZvG=_(HQlF7L%B$!}nnShqV7y}?71cEYr zu{k6ow^s|+CzDVz%+x-K2_1i*1Luk;+0IwxGf^ur8|lTR>L71Nitg^9Z*}#Nr@_MT zL3{2!Vg7_8?-=Id>*KdU47wNq6->{U7#db{#R#rMcJ`bpu>d)Bw~2^69> z%@Y&;Mya(bglvq+(H_;ep+nb}mwKNp#5e~?{yNiC`fb%4GRRlO zCVN))VhUkAQ-?Iv-hrNo{pP7Qha?Qj7Fa50s-bLy zGDRF-%Me-4L36EzRP=8X^x!OuH*B`Hxr*$ke5 zT#~P#X?^C^``w}bgI53k1a5>0cl8W^`uLVroADoYR-1>djNudF73t7c`f%kt9`?o5 zaH!?LLd5q|rOpB6a+=&NJ(|;;0S7(qnDf8q3MtUr@h2Am^wrx7m=Oj+U=5;cB)q-6 zIrOlnI3PK$k0h>68KYMU?AO^9FSDh%hUQoU8D8m6gGU;M1_-7D^1Cb|c(B82uT2o* zcW2$?mKe<~!Ae(ZwveG+KC`yd(F>4|>_QZmzIWEy-^1ZBLC7M+W(RK+$Cs&Qb(zx` zND&6o zEsLt#+uKsQE*5_#okMq0lHdPqYjqRqe3vMF-kf-X?CZJpL@&@j0lpxiu?5N)@J0Zo z6W7jme_bVZc>4YRwtY3gJuHb3CVl`YkcY6N$db(#2lK-Aq=z#GW|`nMeTrIG`Ea$O ze1Cb)+wJxKb`AL!iC1)8L~-uUVosJkl}8-P4`W9P9Csm{cI-dlL?^RHAc2$DFwg&? z$Z3DecIkM5e282A&`i=G`f6$K)Xpyh(FyR5EFB;Mw?(;!PU+3Q^r5w-W!)f#<&`4w zAYUBFo{A@>cricx@apq#Gc4J)5)jFsAkXM$_S=7SQ2(@4O{lJ0uZ#TSpa@ou8(Yw~ zB1ZtLtpLdA%MO4s?2Qn2E60<5vC_qEoAZ+C%&n48jMipR^5dKcYtonmn;d82PMxjZ zTWMip)4bJL9g*_XO9imHX(UcQZg{?v3TK-=Fj$0Fm}B#>+PK>AbiX{Nm~6V~pr))! zw%GaTDxR9kF~5Qgq3kplX3Q?`4DFX19rB6oz)t-aF_yUq8Sdt`t2*7q?rzIm+6SD4I08-vp- zm1Fg6>cFKX-xnpKvMPo%MUQLCgf8V}X5h~!20F(xB=$kjQyG#=rN+n$bOyGV36(gM zchov$Lsz-E$w|HSO>xVdGoV{-(;TX8E#!U-oOx8ssZ#b1s)tkUunS zz{Wf4;82uN0@?1ZL*3y;z8OLf%m{D$BkB>(qj| zjzyPKI=Y5k#p)n0yk$5iK@XOJL&1T_1A@ajA@885Vu+&v5v-{aP)Q*Qm8rH-PtiVG zMwN64SAy&)tIMojgLv>IuHI%xNx>+t7WA;M7i{(U0UXqrNcNt{u%?~v!q`J!Dffjbrkr^NS^2t+%k z0JYK2ZTe4l|8;YPM_X%|l0~cyYCmv}y8~MDKzvIXOQih`P(5BEVCU|NIueqB7K8`m zEPdC^N`Dqm-jQe+3x*?3Mm@(d~B7elWP`1p(0 z*-pQ{*hUe`%v`#%&YYe3cYqk)rRu}#dAV0m*DRJ=->nUsLQO3DZznk+TzL9O-~%=1 zNY9kPT--VGo4xf@HZ_2dx(YXS?P^e;&gAsI&W7ORr4tKGB`ynRs6_PCY(0CC-vZC! zKrp;r^i5=)g;wPao+WI~dEt_kJx!G>|BJo13d^%gvWAfacL?t8?(QzZ-Q8V-ySuv+ z+}(q_yCpzycjteSo|(62=IyV$=WM3`Bkl`0TGy_%Yu8#;B}NMgY8J|a7nGL;0>{3y zLR^E)<>oO!Q-n@@zr=|g+a}@sK1b#gafF+sskxHFDQVt%%GG$58F{v(p3#Lyb^GdK=zeGRydv>5<8LDFGdX} zh%C|Fc*BPeqbaQ_&@aI&V!2Sf;2FMlrkpBTH z{x<{M#;^Bw7ha7kLWAYtb`1H5nZki9dMs;iCa*8yOs$H>zFw*3<(MQ zx78LQ#@&22Qjxfj{mk>{Xo*huc54gEK4IO{e>Z@Ce2ZnN07nIJNIwHs#T!E%ztsP-Ck|3P9{V(xQBSR$jPGXtcqz%+l** zG*sDgme6sg)Nmh>n|!aKVUn|&hiHgVIvB{Otz@;G?^z*fHrSLj9_%=3XX;HoYs}CU zX+Dq*Qor)jr%x!!^`2 z|J0{fi$$YC7Bfzxa!6EfItNy-nQ`onT@~`&{Q$yhx11TT$B!sFosJh z0mu=EqPr{PaQTx~a^$He|O$0zi&yxk4zzQv_|&0Lyt-)Wfby8k^-a;0vQ`ARsqewUjX+)8^w>@ zKM@S#3wx+eJmIVE=zE8bg=5RkU2@7{So6_{164w2 zmfrN8Y@l2dDKcJ)N?kc|s~keZZ*WB5iyK=5ySr=c)M~wJvt=v63t!ZPTBl7R`0}n$d z^u(N0wF#1`}N1umSst#Scf>VLy%B zI$2VD3a+zIQ_-&Y$fbT9F=8DID_#2}I><7%h7~nN6bg^e$q)C9tBC?HJIB^(TXV3r z3bh$yziW{yaFr@LcN2Z6M-CYt0fxaYG{Zw6)GWP-ZmOjS1@z~e*1jO1seS`_Xy9Cb z<67`k<}=+-IFA+D{_cQS4maG(F2gy(GY*DknjEguCw`(DT9}L&vTm+ z#}|}qvS_6D(%EVBB6&;&fLaP9o zTN!3yfO)PYnc}#Z&4El|GJje1o=u$bllXT(`hu!AApXSYSNg%yJz4M(p|h{OuPt+z zQly+ZX}0py7>D&Ew~+m=*zjeRL^%4G>~+^Fpxx7#2Xs`+zb(EBfg(L=k>rRC4j9u2QZzPkR6{a#>60cA$wiDw##EML{RnMNv2S zP13H)Y#`ZaC8u&a0OJAu-lKx}*;*Gw;T=l8ETm{~@>U|2$%@g4Q(SsoSdPcvx z1P_hTLEA$4$iZzZn!A*k2h`^iL|aRpp0?(%WfmXqYp_jeO-}+WVg~IQhB0OYl&G#P zv$<+Bexm%O7n+Zz2xr2~UndaQdvM=II9Cxdv{i?wQhzMSTnOp}k7QLQXvAbfMHCh!6Ldil87?S|5lmU-$kR#o=sleW>fw%QgR(4hrSv2< zIG}6Wp3`f zTnJNMNKif!0&jP(M5M_zy3dg1u2AS!vfMUfrZZ!3a5R9i@rFk;>tc|XAi@mMpY_@) zpuExtZKUJL#clTuYd*jkFI;rA@j`gJ$EJU)KM^fL7a~eXufIFbp2mmSLD9;LHcekEjUFUtQkV4$q{YnyMsiI{29Jd~&n9RE`w6CKA~FbYrcFmIyc` zg#_ckJGj`R3g#yPuho`bfhk<$Eq6brA*oF2NkVvIbreFVcTE(s9$z^_yrH~(MCBVC z*4&1VPI5dJT|Upx&F5Qh?!k_t@YgstXKmRst6{(u2_G0vl+uL=@?!GW9p%rEBoo*} zk>V*%Z&G>Z;m~u6v$~$gMYfcm(j!hKc*RuulAzoDj`cEvk!1=*C(S-xYAW+ZHo6Tx zjTN9u6xafXvEE9i796jLEbwj}FTMY%AR%e=b`%Vti93K0|95HPx3BQO&;)UK`556b z|9lbo_rVCOE8vFyTd0{z6xaHU9)9og*Gx}|kVLbRCg_J=uq(oN08eCch!t*j@H9p_ z?;2D*+gN{rUTShvy;I)Us5p(mgF;zZBv)6hEk1u(<-MNq{&IOtXB)h*tdw%Hj#v1R zqs@L`@lIz{|0la)>pl$@+G`J&Tl2BV7%}xglp^FEhC_2yfHs?*hKlPQHeELI*13!G zNPQP~Lq~!lQZE*1-kZHHe8C7SH`yBg1H><$kc!_2p4MTjcs9~pmBH@)zJli4vCf*b zP>Twq^o4wf-4h|RT;26W8)i+PsNuYQM^w$Z$Y39RElqda#$yHNw%;AW+pyTmc{NNW zY8vFYp~=P;Qoz%+TGI=3Z6qA^G_Q(ssz|`%6u!Aj_wFbU0Q!M$*6nBBoz)Zqgk_ZzLkx(aM9B>gR&%Kr5cmB#0Eqgy> zMi0iIaqU+Ziw=eWt0RoJCb#J^K{S=m97>n6vyG7rJFYowc^WOz_m~*iU8s3*OY;RO1fmGaH_L`XA zJsW5fCK@Xp1e72zPizPOV&mnk5aUx3j?(=)=-zX4x6kw2X$~5@_KhB``J6LPMx#)k zTBayUub3uKEW5A-BDH+&4Wxv5Vxf0c1C!fstxL}X_bJS)DQ$4qVmDnj*Vz6rW{aY7 zeaEmaW-?jSx@vjo7Uc^)>$V)L7EYtM9uq#tLa_j(qeG{w{PM*6>Ol9OUiL?l>hGO^ zijzG+^8dS0{M+R>uBHj7IHA1KP4gfe-K%AS>x!QEPUZV1peNM>rDLmGJy3Ee?0x{Q zt90Q|mpF&vXriV{&RqWL(@%9Yp7v!QHyh(<;n-OjlWOx;L@`JDB94Q>EsMonUN=j6 zQ6os1b*F25YWCQK0_OYI=bam)I)r?lY}se4-tq=M z3k{t<+iQTV2&~&)ZvIPFY^N;gXFfGgLcKM@-ojz*N}Gy^6q9MHaH9c>k4`D|eR&p{ zxl6C)39LMIgJ-t5*+}enhF)Mz@zJgz3-))WYVjj0`RvY0{2n4ocNPsGu z+7vIL|8$qXqa}KKbYGR#xSxgjo9(9*Zz;Ea{i4XaBVa8}KJu4zS{UME8Z^@Z5=SBFsA{d@!xwq3ze z?n#e4CJmQ?kzL35*q(6YV5Cq4CeUF2RCjWM`KYjjz`#}AT{9~@QykUKN1`RnzPrvY z6_G_2FD5iGb;T%<8P0%Y1J))blShuaG}H9F80;4Oj5L@ZAH+h1`%UAFIrEY{G0=b< z7FCr8oGM(Ywb=4)r_xV^Z0BK_CGVUM)?f|HiaVMj+5){B73egD~`erG^hB~`Vp z95xi_!26Ee^GcQ)1$!;W2E@3DzB~%gQWYRzOi2^8bnt4GDwG*)9Op$ZYbnmVMvSeItLB!KQ=(1Dgg(5Al$8@D(NM;#okDr5->X2Q_6m`cVm^o_lO}|; z8#KB^z}m!LM((2SD;Uud3dSrf5u0lAooVhqN4ZO+t1Ae*O6#Z%?iTEjbG*Uoyvhkf zT(eABB4ssMq(%^%a3g2B9BKrPdb8gGDDZ|CwLL=();IRFN8{Je>D7=0Ac#}1U!N<# zJ~w`Uu7%(LwZG&h$(@&Vta#&|!z(b4;y!V`(Yy8BQA?J?PciPOEAESqsCIDs#+{gU zsG)592z27ppQYwv*To(khSQ_o&0a0q!%BLZzgX9+>>b)AIiZ`4}Ds(XgqVJU0i zQY;zCpVT)@%EN5*gsw)gm@l@C1^09>#FXO-xr|~tyE%)S3KoR_i4~*Hb?Q~vM{1uX z^q4sTFaiKgh~ZehBWx|Q<~?GM7jp4s+geg#JcgQcIIwwfZ!NkMJo-ky0sfv`_=qi9 zRE9fs-)*fK!=x;gVUY+0n54e~&7zF@Q8tnXnj{-5x1Sijw|7Ly4?`GO_A8G5^`i_6 z+CB9r_>K3flCqRb@GLnmdCatw$IsToASU(w0tAiP{q%QnmKumx*lOU=lgC|HUNi3u zyVFAQO57Ax$v8gEC}ly-vzSe~1=Yf8R}EeAx$FbK1W^Mdk8<+iABSxAn#VNen592u z2Gr@4?9ol`1c!vGpy?!*Beadcd4t)C$o2fNwgZKys#{tQz(!s>rMc8NE8BRgKgY;# z%r&jfRAwiMOhz@29XXW$xRYu`cOzldjv?d<$N$JjN)Cy^?L8i2u%{Uq_wb0dnZi-A zGMRnO(fJxXw+s+Omz(9WpK%Qkmt_zH!Ld=<*)Oaz(l4XtZt99yj9kC=dOkl**=}{c zJ%2dMr+tE#?>wT!Y((a-BM$5&=%Mx#c2Ea{0ceziOTl z(_xt*`05xrAP>naV!6^OvF1ue5-)jrp4YY@sSh`; z8Cs$JuI&AU_ow7Y285hK3oUbV!|(6J@e;(p=qbySU$PQ_xP$bxqJlwCfYW^yXj99ZYBo zt>gfDgZ8fSY!0)vPM;5e{E;A2HYTW#*$?!uR*qJ_qaX%1lsbB zWKi*xl(4|x9kt9l;s!7U%}K4YVQN?B*_GDq(Zad*mjxXckAvd{V^fqge@ue$m4_kpV!Gp`v+*tr zZzku2xixpyQdE=v79J+Q7Oq<^#rrEw^TNIfCr38z4tIQ3ZDDxfsbcW)Cfu?z%=mVI z@G#m+Ym|m%k?(|y)|tr&;QzEois&#~F$N)q8-#k#;Fr)=a?<&*&`?mpM^hHe>$!$8 z7B(NFghBf5Axq^#?Kw6__juL?@>mH|ehL$!BFZs2+~xxM8tvVS9s%k|4hKS1qG)%7 z&{RFjim9Cs{F931<*8A((Lr*;H>V;AUFT74!1*ZEpti@Me$orS=wD%C2A%Dtlq*Bs zJJvu}D@1<+$GE?-iy)(AeBc{~cz>?3)mDK6zm43_$}J;TiyJO8zi)-IXs{iA=V0S? zDXLdhcqFO z>KLvnVh76$Q`}7tT7jp45k9hi&XvF7Y?p2mHm3J&Bx&nFPcU=#Qq*pnKZj11_0Q7z zF~%ryEuv@=`@y~VDylD3feQhDby|Rd8_o}joA|>3oTHGR{lm@GM@^;2b({QqGzMpE zfenEHe|1(@SLJd3pOP&a1Bq*_y_^PkpZG|%3nbg1Pi;lA{I<%ga2q{gBhqniL5+`T zSNNmOx4hllu;lzA-JAl3aMo7P;LC?uvOzE|m%-pQ`w_o@uCDn)8GmSK1}g1&q2~`` z1i7N&_e+D~0{Wa6>1zNgPOVA42M44?PLx~!5yI@|_rJ7h`ufW|pyvv@FYCrwhFf)p zm*3m3As#Y03lBlF|AZ6KfoK~3;D~U`fnFHXNq#4;_q;jBm4Ah&c-|y|?gJ^jhZgZ#V>okF$*YM+`_E(ReH>3?)D?zvhWp_qp`h>2{X(wsvWyV3&Fg(y4 zwFtx8ykY{oy{t?(kbU~-2su2Rr6yO|McaO_Vm!(@S>4B;PlA?4a3OBm);*qs>eQcs zpdk&=zYN!&AOO0rx=!bM9Q71=NIqhZ=8x`dgTcYtCMzhm#4XmmV0w`RFv=Y@g8bwt zCQHpkh?tJb#}C<|+xDE*TxXUXTMMtxId0WbiwhBoJX!vh%S0y3dPjrupg+z&ST!&( zM`c6XF5uuplK@w2qp$%V&B0gDwxd8pT2?(uI2N@ucC^73cx@`l4$Gh~ZHMB~FTxDR zy$g=o;cdU$7q$rb!|LHC@ZK2A@eY5VZ@Cj^mzf(s4$mE1ByOJ&)qmpwm>xfsuIAi9 zw$kjB8K74LpWLyeR_ngKogSz7M1QAkOY72=t*`o0;NmHs{2@BVbKHQu|I=_pYm`9- zBkDs9MM>POY{ZJ!Y0t!K!yGH#Rh2c=YaW_rfu{;&#W5Ty>%cr_7wo}&u?tNcl`?OG z@ja#aRz-s-WoHNYlS;W0N1%9r5=pZNoQUcY-e1N4fXf56+q_}iTOU%f41 zzq~C-B&Z)*S42*4vf>UJ5jG@eqON^cRP#ip=@jE2mx{hlj9^zscN;W zv#}M%`B+n0#>F@*?BcGqJnNF<^+vq!G_!|5hQEq+-`-yK?cVV?>btZn zM>C78yGqrGzz`-WDGOg;+fJS!E4jcbcPdioJ#M`c`nwV~M|(nlPBPzccO?-`bEj18 zN0iZHYK-|AQ&5@=17Y|Kj~L5R8IHIJ${n|pm`dNKpH_EhI;m<^d$)IPi>i}1APzJP z!tXG@u39+{dDOgk9L=uS3|KCVenoF@r5IT&FDV)}Dx*~eTIepRn8g7OU+qGM9(rNQxq z<7*qVZ-}>FHR$Bgm91c&+$xG>8M-Use*PG0EJB~3JvukHoSy2_Zoqr*8uR~INnQJC zt?mdyc>g(c%y}dR+^HL0d=(b$xBzhmG4$t=M315=c{(F=k^hF2^nDO1=^(vSCyHN> z7;nwS2f&yfLWEf6D+yH6v{N1*15`%DXSrEqjmqLgY`Dn;rJJMtm!_=`_A@DX<>&PPBdywLd7LoOFIo75?BBw-3D5hwCem>5smK;YU1}ea(mc zk*XJbFR-sG4d)R>j2QQjZ_t9j;>sAy4{A+8gf&L;@^LxaE3! z^4Z)&#GI&-tEtEH^=gSuxBJD*|0qA>aLXdR?JR0lqOcYY4mp;81Xr>EsK5Un=u#`t z4ry?C0-&*m;#!Kq;g)1oy$-uAB|nLwtQL4SDQ)muaa~!X2zX6ut~QnOm>K20q*xDZ zO`kcGizpmpp)3kzA??xMx`bbOJzev@|LM@brTH6$7656LA^iR71LI#z&AXQ~O#JPWD4JBjm%g^2%*O^BIC|)_0zkneubN_;$Gbp#I?q1r=_q@Q6xtvoE!N zWKHfM6vJrB`poLE$Uc7NX{Jeer?A7R_Pxyt8Mhlj-?g+^GPVG6>tvA5tGy#_WZmaY zQMx@VPx|!3HIo85lP_a*C1WRU?I?|y1YCnIHXvcYa!^O0ZvgMhiwUc477xJtGW!?r zOS2BZo!7GgKa}=uMJik}9n5KU402T?(eWC~P*zw`6d{00xFR%{oCMea?oM&Yur^?W zs&UmN#<7=0-v=e(!s;G(#W^ja$u{MR-1bx>G$WFms%7hIgb-Q+`lC5Ie){KN zgEjromi__Ydi1-Oat35ycT8uLdWH)IP-G%6fZJ2oqrlvcLF9t}d*eV)8D{$eIcuqd z5oRU1KzzX6pmIQISBu13z<7J2-cmuj;!qzifvbofcy?tDl>=mP*ZIe16!@xk!`7%( zgAx^=V8pM=p?joLDCGfbWhv0DKTcpwlKg|E)!JK$&vW;ID>E(mF}0%UuttQXNL$& zdW~IWs-l>e5I2@qt!-Y5l;>JZ+_?&KK{&qCa0G%l$nUt+;1>RwXu$)qu^QX>!> z6-2dFh(i$!SXsNPv##ZhW~TQNVdCHBus7EtZ0iV3w2 z8E!W72Z~1<0p%G*$;YI%Q2sgkRJ>rK;VPMi$dk4 z#jzjtBNdCXCQ0ubK@&pEODww`W*Up$cAF~Yc{8M~Z<@r+zH8jsiOww-UuqCRf8vWw zdWdy4#iEJV$SE@5S)kB|D`q35ygTFzPI&**WGyMFWwr#Ms+a=yRsVXL|LUZ&v2`+b zRJ1ZTGIso{@86_Xq4dYJLN`}yvdNMorN%7jq&8NIHo&mL=t_M({yHPY_h+CriKoW9 zJUTGi`{PW@$;W}JVm+zCGWH04H&lLp^gZ{1MTQsq?u$VL@+h@va#P~qFZtgGPL5L? z8H}}%KT2~eDx&lOrWD?K1xYCoIS+o+->dpwC%TILb9IX3$@*$>{`_O_bhZ3|9u^%R z(o{tLH{u;PMdacP;`q;nGUsI#fk$;=F-FMo68E1i-({ds z)h3=jnY1V7j=~xu&?{jX$++(Z+xn2D(?kzVPL*FKV52Ot(ya4 z6ZLG^zPkIQt2GHQ#k7OGNytZ(nV*ql>VTVylxO;uV^%_{DFjN4n9CAFz_W9GkkoQ~ zQ3M`@{T7ViJ>=XjCDp&Us{rYrRjR*(u=&|YRUV`ht++1#QMuCwCquKDgLTV(wZ{!h zx*ODS=WSjQz4KnbW9txf>V8^j6=!4XOjY`pmI1ga8P-XZxk$45CL75W!RClsmoV%M z1|s}~3T0kXM<`ZRA!l52k8|nsW%OO|&k3S|3UjRcN50(144=sz9X%Icx7pazw@5oIo+OT}Y33W68Hiry z?Ofse)8f*NfPwHjKp%_;Z0-1epYh*L`wA5)8!Qfl4S0H2@|#r$sX8ku!QGxGSQs~K zf=O&&14Sef))9hIIjZ5oRJ}=rUGz=Zj{0XE#lrdI?l80!<`Kg3qfScH@~uwYA`sMZ zwJIa3vXc}dz4)@gF?*_~W5sTzm>y0-WWq$FN^(P151*@N+jA#H$|369t_GReaMH;` z6KqXReTv#=Nv5zbM8*o+cIJcj2E$0F#e`MKV`BD_Es;%6do)iL%-f01pR!7%+oBNr zKG=tD$hI^EvAm*MuF^-C_}>wUlMP4dg!jj&_%KF3rfI$C-xT4d)_B#Tqko4Kr3R5u zfRRSAWosJxra=3R*gKz>wz#krGi^R*7*?ecqA%ys_Qcrgr>{+*6IoFLJY8l{!X|Xd z&NqRVo>J3B;QLJ3##~1Vw{PF6Nesb21;{hVZ1B9j(f?Q5FTYnW73KIE%8V-6s8e$@MgPA%1AJ0F7k8H3X8)I_=t7 zVf&uzmI=0~BS(QEoQsJ~^#-;=(pC-gb($-|JC-BeDmK#ChkIph?=zs{>lZK+NzQ^m zjrevSKdGU?V2IMI^A@cH0!_=wgLH9Ll?Ulm_tCUnBlreMJqZ~99qNyPAI7AwR*+lh zJD!s(E``B#6z!%>Cak=Fc9KASW^GLTaHxUQb~mUG8IA8)p48cidj^bQl3VeOP71?q37Al`1pNXr=OgB`9jdg9zUWm3F%>_*$CoIm7r~L$K4PdywUjZe0zirg;|aGj2;9D=yyS3wVmYQZqtvMMBh`Y#nIp;A zLSFZuE>0N(WzW0L`Vtx#(_lgg@O+%qx9uvoH*UWO{g}t?20^=a3T3&j@rLsjdDSZ_ zFh8L?R=K&y2JMrUm&H2hF3c7sge>G$eeOK7Z?;$CJh^Kt(r8_xYsC6#Q>u8l2p==r zx$`9dDCHCbnaQz}+8%IfK$ ze50am%4(8Ex6(0dv{cD!L7&3=MXt(m!*NMgz$V&O4`m}M3-wJ?ec?fP(rSHIs)I$1 zi>OUbnbVq{VP*2T*?>??Wny!bhk!6u*%BP)g2zsaIGrHXAkdKB5iy z)3*~BfAJl@o;!z==m(T%)u&ybKP3h#qflNXz{RHoV1>UcIsTrtb)x>CCCB^eP@D^O z6gz_g7gYWPq6ivY5(;%21pGCNl!PQF6LF2YO7=QKaIhmhd*KP}O|Jd*KB}vUHRU)> zsg(wGWnAg+**vvIX-eiQI@r>@nIins6-^Oi%#-B`xYAWdT<%{UuH|fxURmX0w#zMM z)S(Kj?so!4I*yNC4;y6m>O$8#%aV(ptW{V<)=R4=2AHk4rGm6~6^+)cH2T#!Fc#U` zE2>TEspABasG-zdc*KdWTNE#wuPbcC8a&V%+Ttqx8Om*g=d~9o*UsuVHM6u;hW34= zshL{U%jWDHzFx`6Ue8nR2xeWB=SOE$R7ze;Y38sf9Lcx7G?vO8Ck#@%b#t3nP%i-W zeH(Fl&`&k#N|s_u-PG`AfZKUpsGzu!KMii=OeLSKy4hFCNhqI`d`cL3vSQ@hWMoSV z(KL}8f|h2ZEvr8YXwQJdoZ}d4)6($xB8@F(%_iDlRu?cbL@tO6O9Vp50@8m6aUrf3ywL3h2`F#%TF0 zRp)~iPSou7YsaZ?Q0CV_v?nM=Rsf!;C-6pOF`|4LE3(CpT^^+cG%~@8| z2`N`lLHX5dwmAZE#vVv)m*-1*&Tz8P!4DS5>*$GL*WR^1ENc&U<*wM{t|{e|KO6)d zO~P91i}{0$LxKvRtnvqD`u5x*-cW3RE19b1nrMPEYs`M*e*~6~GA&(keCw6YKQZfVY+G&(vC|@>PgIRdkUI58AA-^yh7pOX z@PISq!Ez@sLg}HE=xy-P2j|7MIb_rwd1J0u^hRD!pK6n-=U=x>?$sE#VUQUmk862) znaa=Zl%-qlb$=?6DyM0*YK?k=_y4GJ#@k*2_|(Dsx4D^Dvg?5`rjBQZ56{ zZ~Ei6VqiOVNbV#3txuF|4CDj)DW4ceX;GuNb)15~HGcCbQnQ|UY>gZ{#yp23*bFd( zUxBDzC^m5O=nRv$l~*=zURJ{P$qN_Cj^QS&0lr26i?+i+U=9TeoQI^p&qDA3$eHR( zR+e`^*l_E3g`MT38krQl(oIVnHtE8zH3K8iB-yX64)n-A;KG9dQ9ua{dqK3|1tzZK zS(N$oKxeYbEo58&e8G~l$NkAXE|!NzX&sVx41`49e(5;?M1~uZ-G|=PXIWy-QdAUf zqZ;sd^_ZjE<@t6G7&(YNc%Qvfl`)fxBlj`F^9L||yg13W-FMMQ|Io6#;rqbjozIpf z!Mjy1^CKG#imEAfrRC!t*ui)BImQ)S2*DVJ^SuVSrAxz{8Zs}Xle#$9d)iufbW!3^ za{`ZhN|iw?a@uk;tueNJ@b7?x^1t`Shu!B*_5+?%J%9H(_1malk+k8kjgR7c?rO5- z_k&j^pCL-tump4CPIgZyju7CRH|p!> zT|aH*sMuuh?_&Yium0h_zfi{e5et+Sb{q9Jng!A$MTll?gNr--7U`&D)& z0q?1@;##(9#1(lI{`0`F3Nvr*%Jit)GGw@sZpo^QK!MLhVF@}&ne>qX-Y1JR88-8W zYa@_(tM$m6CG*x46YI$AdvlMeQ$rBAZe0PSvv)PGun4rNo6(VeQO2-YNU&dLp*suu zWdenIuQ=ilCQ$_9yf*zkuCXAl6pjj@iL_D|_sPtJr_RT%w0Y1GhCa9H0uQW1@2ol% zbW^<4iz*AK!QAu#NzpTGE~Je8U~~sU)53shMQ<7a#6h z(?-)qCfj05e3gra67idSDm+rvW>+tDR%NgE4m%u4ZOqmZTKCx`*^t!6W)tZ#Z+9ly zG29F2(>>%D`R=QV?WZ#C+T@vWNmO^vc1N1p=`r;rw8%Op*KjdK>DtVc4Mslc9x;uV z7vntp^C3~V9dbILGh2HFm_a?u4{?vuOQ&Bmlr|PfEoQsTnK2~s#kFj-tmzx1&Eaq* z(fdU1Ibb&}6E(@%J^+%Y{~iE!dO;QxfI8|XV0p^_`>pjmpBh(@vIP`TyXbzcPT{B{ z?l!=34u5Kdh%FXP=sbxkHp^%dc93`?pz%=Go7wt&Q+<>AQjMceaac!wX>C>4*5g+xOup`R$C0#yfar#X^RUkyfKs(m$gwT^?1 zbV=m2A3k6cuOhiTb1#_Zk|XJ@Y=&nTYw1@ofQ9PB>vtr}EN zeg5$#ZO&)1=Og7q1mSw*YSMV2WbLoZ6*6I0C;siExGJ--42 zgD{h!{Ubfd77su1-~oGxNyR(!{#6#fp{ zK3bFV;}P!sy(j+AD&U+qAKek^MI6|cSpPzS@|e%mKnTs0k15zYJB`OT6PNqFH7sXZ zi&4_y_-WG^2q-9svZLiWWSWr_YRgArd2hzr3v3!OIf1+?@9tG~U)vzgowfIQoKr}+ zXM=&VL}m1=3>`lhB)D=!O+ig20rv_CxW;GU5-0PzsE^$v$%5)ZXOb$@@2CQ!I}9oh zuMy^M-^X1)vk$Lql>D@?zlS7*>)-I%^!0_vCTKxw^T%iUv{-`*O-$+p-0xuGy2mPT z{ysU};pvDwbHkll@&+D)cK@+4|E(rpr+OALF>EJZ{uz-3w2bs?unx_+hfh@vqtYp* z_>U)e3W7Oem)y6q=-_~Bf%YG4V10hN@F7IqOK{-ce3%WG6LxN!7QuKOowmN20j^|3 zRf=ot~}xzH`M#hH0Y20(dBmTcv(DpThow{g074O6dd z1txuXEEcyO-Af*G)v$caCiG>lq4`yE9g(g$CQ3fDhQ*QOc?0uGq2gmEEWWd%NhssD z``Vp|T z*3z_Z08`L^XPNboG+SaoJ+mI5T>fyxG_Nff2zvOz%GI2SCpTvbcmdy0%dK@=>g5^Hi zqZW9?A_~R&5Ms)DR1a^RcG{yDct1ToyMwzZvPQAA8HNnGT$_sf zc$2tq_lVA?VnHEV$i_%K?9&Y{STx4yN>p6Xm45c;iG_EJoj!2OnNO8 zTCYZ@Zzc-ps}_6#3M2DT%NICR+w`tuFv}eV`)C_z_A(iBKKS~>@n8g8V+n%>zW^KJ zX!NTr8_4G5R0IveevwKY8|FvpgYTbtc~5j}Q+Tx;tl2n`6dI7HJ@|MT_R3Jf55Ho_ zha{{n3p`zzW3i4NX|oPHOhTJfGv#I)$0s1^$x)8;$q~Jgtj#;C{+Llp0dDMO@Nex> zd>|xqyd+Rr1?vQotiCtpGuFg30cw}gBrT#bY>-h{B^4dJ`m*ZT62Y`^KRJ~?gzakl z(w@tqbx6km|viAA#rn|25^lhI|uwdb~LWg-Y!!lP;6 zKL#5N;OeRN;ug3HondwlXB&kiqHuM~)aGwQ3CD5sZE@hm!0C2q3HxUT$hO2=SJx@u zK@9UV&<PqIU5XogHBusnw5AK{|I&JY%0{=HtOSPSf5m7%)5OL=YLg@>LGKqz zs!0hJW=T{;WO1PwBPBh@aTFz7szJ*piTHDN?B}iG?t)oA=s~F-svmP260ASw4Nuwy zJ4M5Q+zhIv_~)pEt{=0w2GFt}>(7aK=YU*@r@EIe&AF#-9v?h&Ax+U4V#G1^^*R)~ zVr?CBuGV2CoBM|bVw+Hja8}q1h$5Ooe#o8H8|~}qi^s}<9k1v)I81HoIoM5|Dd^`m z=+EbmX0}6@X!LM=$^_ z+Ri1Cj8V!Vn&3-rNABIj;5R&M_dt8=MPY_7yd3(DGN6>iBn4?O0Td*nifJu7h|(O{ zZafj};<6*L8Sv-(M$uKn4QgtyI^&whgO7UlXb4>h(SAB0s3nIBT=~HklhvCva~z#d z0fFJA97)*2Oq8Nd5W&*bw8`e;afl|xh@6oN*XP6Wq=^I-cDKolBMX2A`=NLO8BA)D zSRe1_1T~&G4Q+##?Qy69AZkd(ymDcLxCN5%J`{UYhV`emyhn~CZeceNl@tp3$Up;B zYKq5Nf1na{7Of02Dg5Bz&{R>~=`{iwe!FKjimm-8_?jmvyT~(ASXG~6`16$`8WXb$ zyQmfBgji_l!&q4yv>|+fwT_bBK!~KTt%OrH-`jQ&#ouoaX<`a7&5A_tJ;;(^zS}3s z0Y7GL&1iL0hiM}-zk871*JG)MXwftDSX520W1-%(CTR(8b+ z^5wLU#i=#2KwkK@Lq+9$>sCZSNOy|<6j0i)rQLsqub&6~i2+|C^nob6qX8W1V%PY^ z6AH2$Khldqg_8vlHIx~opgz9GT3|VK`6LmClZ`0=W>-MBg*-m+0voq#V+YZYugjV76Gh+#) zv??G(a#g2(#caN8Vb3NT&#BUl%hY=CdQ2SuMvj@6!}Ww;Gj*dXBm7b&DZ#LF zpm_PN^UI&NYSGLqXDk6O>@L7{@}Dm5e;?fVR~PqRZCLz$l~lyGTYxekh&=PZ2}t9a zFQp>*H`)mHh+yt`_TW!gBvs&=86m%S8qd1*ii9U#bKcWuoXVvRgh4%{u-w#v3d|56 z7tCF_yZLwk_kJoE;1HR$BMm;ic&J&Ki)_TX++~Uo4Xe;EW9g50)m|){nD6jgW@-rE@&!56YMQCN^Q)nN@obIwYc4uC*QM8{yCvu*r*$Qmvfcye} z5tI?n+uhO?71!r`mZ$gm?<<;5{8dV*jBKw13Ur$N3(_=Qyjp)+l3tjJzx?+doc|a= zf84eIWd&ztKq#~G-(102?;}&-reJ{95&WN4aH9UPg7fawVMfcWUn|1+A+Y;R& znyY9ThM8atVI)NYZ8oqqu~Zdt0_TguaoOtE8*6?prhyR)aWc(+Uja24gY)^{WlN8 z|KbGle?Sd?GlTqJd>H-*F#OFF@?Q&vznMe+Yr*h0lgNK582-|+_%DB7{-p=%{}>FC z)y^EVfU;aSpgKwUZ?fWFH$(iTIQhqK{z#-NVrv1lNtob!!L44i7_St9L?qp0h2hwu zLU=u^jjR!X(~pGMR#!-BL?9Rr=T_?JChzo&Q|`z=$dC}a(uSYl5rq&Il{ej2wgB$2P`Xwdp6WNArd@kY4UP zv-i1xczir;=;WXY?Jo2u7N&@1SKU7?OQzkWRn7eq$o!F8SH$*O^wGlvp9gdX%y_xP z_n{Za(iu(*(G`6G(x(bDH^7p@I$c|;fyF$~5BUo+6L%fsM-fmVC^QXiz#=mwc-v+_ zb{^htK*B#33~`9m*%1U=zdzJ)Oh+oDxIv{U7YR4fhwZ8wF3U9FA16{QPR5S&tHGg*L0(I^%dV=PH6|%cYUf&m#Kg*=&2ABI3YD`?4d+T~N zci{BVzx90Ptwc;(utN-$k}4y^lV$!bJ#As_nd(oWxd;=^{%4^1BgOhJ&?p@If~Mdv z&=^vMsS{#J;T->0Xe_hm$xx%ir~%Lf?J9;ctGV%=X6x|RvP0QO2BOjq*PP-NT`oN@7;4^~Vv1kq(02<5rkYLy9`Ik>8j&-sq(T_?in-(CA&0!`t<_UsUf+$# zyIUHk-rUp%M9hDe=`U%K%>Ef@{>Z`qBcAvH@l@@Vk{5`en~XF(P4bs`It0X1(XV*Y z9R81Z+IR!R6EgIWFsjCeuizDhFeY_J4*V3>U&T{<$--G+LPA@=;dljQ(DFC(_~yYH zJbRZ4MbWY>-lP=?nlZh)YdjnNdYg1K#WRd)n$#n7>O@1e0M0GOx1g*iUJp;1H%6k7 z0Oa5j^coOtjL+0&uURk5tbY|x-5jXY&>8KX48Kmzz*_sCOTIq4CKdk-G=Eff{{xy| zR0Dv9pn;?dAlDH{iR1Mww{gvJt*A+wZ}J8=#RkCOa2}=H913NeE^(L2QDY;kn>m9* zjg%mm*Ian7^6&&0*rTi`LeOZ%>aX$eT1B&SluB_Aj+ZHf(nJzIE}-8LO-4J9iZ{-c zFmja|V@SKa^}(8{$khKcr)Eb)6+iVE_teMZGtzE=VQ*c{|Hs~&$3xXO{=;X6v5h@u zB+J-BhM`hOj4fNTmF&wPW#1CAjIC@Tgi=|exa@>POfqB(ktHp5vXni$-)Fk6`?>G? z`+NR;{(4^D@v6@lXU-YNocDQepE-5yXtkxXhh`0L>OoWT|9;neP@8Od4Qe0py#K!1 z=O4`dSGnUqzWIZ|i~pX98`i5N#j)T%QefOtdj|iR=H?FUrTVC-4uS59kTFb;{3} z_7i&*kMReso;uO$wY|OH-=AKwY85H888>GSBO#0GU(I6kieHzQJdxCjSvY0QMq__U zN(VcBrOTp@^y}?yZHus3krH-vm&_VjU~Svg#KGZxm7{is>tj0Aib%S74Z}}^7B{17 zb&|Nh%#ED0P`FE1Mc@6&N5LcHd-Bl}tLI4VYeD5CtEGpG1$c>zw?Fv)JXf;jBx&y| zEL&IVPA#BAC_?8xx;&&>wj6j&=7*2O#Lur6Q|IZI zF~b6nC*SP2iSyQ_h`FSWT*#FCrbx(?ypU*Gy9h5S(YSKCdxr1Mkzr5JnWR!F760%) z+*rgV{$<72ASW4^qwl4Co<+7E^D_^8`%YSGx5@j!v$|l*U9C6pOb}6M~^*SNI%4^kkhQnuDpHuu4s%nK3jk z-@D(Rik^y6e?IeoAIIjd-5sdE^1IpB zB)7+XXQpIaNi?~FmYXMDK|W`;STZ9S$~CXTe0uGmYJ+U z@{mUt^GK$;l052M@?*rUOZpfa};jrgct<>s(t}|x%=ttqIt<*56?$% z4EY>jAL{0}^ZR=cZTm(4`b|^$dCT4J)$I*16+K(#=v-tX4SDQ{`*H>5@v>nyS5PjK zQpoUT$`L$@lggk0VZfcYb2}8Sl|z7Z&Oiv2&o9+4LE@Jg@k^4#&xZaTeJ#-9OFk*Zv1>`Zg4~M z@d=5DiU{%HaHme;aQOee!Pr<>*p9Gqva@q?uz@db4it)m`#3i@4>$L5X(2vv6OxvY z5)~Ddl8}{^mX?*p%Pa4{Jg`HA8f)G->pHuO6xzC8; z&GsK_{d*0EpCLvn@KiP`Hb@!Tfwl3_@_3QF{&)D_UGTr}g8w}b{sRkIc)md?(Q@>1 z5yU@3IDRr(m{|@C337i1%6F5*Ki~cTc9?)t5-{{~{~jni$O@4}>&`N1;Z=ZHx7LM^%w>Ch@-R)yb!>1%j&^z57Mq`q^ z((78_tX}$9T}C)tN?4tL&mu|usJvov>f^@_S=rP=iepp#W*U<2a@XNtBkB%$v7eVK zi2^1oBdm{-7063_F#F86I9i~=-l2tsS zos#CwaI(d!zq%Rt^lqmsd?$BpEsOJeVizBFk{$AOB|GO~bSdjrRrw;EX+|~EqN2Uj zR&3(7Ps7TB*5-(Ub2A^!Dy(?8&auLwW1T!-U!K>|QM}QJ#MfZQ#V^$>RkERHBvqxtsfBktaR&AzaYIZe$P4J?2d0 z#eo0IQt+mUMmkPM;8RYI*^Tts@s@X%Kkg(mx5Z1-srkR{Of~r+h=>MnmA-&jC;bUh z>T0F$Ye$!WSV^f2Ui5>Mtc&^j;<;n$)`pmc^t$Y9BNllZ)v?PBt}cC1@QRR`IAY35 ztpKsqOA$@w($bGarxNqB;`=i)nnT9*Ni%DLmpFvBOTDq9`==^ zJ*n!yHqEjwaMw-4w7Q%9?Pbyoo_4%5RuQj~!05@Wrl&B;i?t|R z>{KgHs)54Cc$M!?CnRcUk1swAra{wjO0SqH>;{>jT^YK!dysj2;=(l1Ug^6y*8u`T zG7DU;@j6x=A=9~P_d*ttB<_0%k^QV+ZM86kY|Hyee`DpS36bC{o_`jVWrDcYd1~%X zAl}5s&?Z#%W!Y*-_AG8wADJhehJs?0Ig@U_5SLf(L+hV3uqiJ$O@PvtD;aPf0@kgL z_`X`Ps{GW}s_cnnQS!6zJL0-$4-Q=(P22!7B6Br4HZ*xHJ>Hu+b=2FIBR_dwqQ(GyAf}PF#=&NNuE5~w6K<>KTt~j_weW7q8wwM|MRf_=P>+p{IP2P za~M*Gf#{3_L?N!(oh68l^TS`RKe z!POMnP!e49L2}xjcHs=&0?L+@p-5%}$63ydfXIriQF_MYoV5)KemCYc56oy+MPqEw z?Yb>AxaWFZy5UW2$b};v?;(%Yv58&2k>`9YGI*MASpDL=`eHO4Klb6q!V^TkHYVxn zP8p3eCbn0tEp3smPGs3Ry_1)OKUdLESz8nNrZcF9(zzB-4-&{H(&In($is?I1oB*( zNLYH8dex+ljR9}E457OA828cm$|$KW$sWA?;~dS!TE2Kf-8I2o33ek`L8lC7{m8Xo zE@y|wDodK9S=ltD+ATCa>_#?~*Pj}?MNPB3LOnN29C-e5b2}KeFfuoM+bESAo~kca zz0koQ<}5NP%AegoBez534cG~$GH=LknfM~My>&yWYlP)k;cZNo)n(xrjEQ>cNUoU9zH zfETU!r3VuOz2;7-8Y{*naea!4(k#_{ij9$mirFbT2G=juz0xNW2V2162A9p|cxA;V z=YG2lgMnClj;%rh=(TgWc zP4S*5hEl(Lw~i`FL!n(?q6Cvrh_$N4xDVDc4ivDeLB#5R6=7c*cK}mLMduM6raQ4q z>Eh_=vp99c$L6<3{9|lAzA6S{BsrtP0WOJ%b{bM;KRvns2bQ`gl%GO#-e2O9(%2RB zk(et!*nQ-K@aDZ_Y9)vC{z|g_{6RjkxUP98S#?H#(UdNjM{UM*2L(R{PN$YU`{;o& z;i!$B$2;<##N_jr4#_Z+=|U%NnHm~ddSW&!(^%{b0bVMJ_a|Eg*6 z8)c04#~+V zjt*K{-%FQp(yE+e7+H2`n@GqaKcUUYRtQCzWX0U-r`0DP;4upI*Tqg8LU~CDDn3cO zFeND)PX?MG^9We|R0a*zEib#P_+QooB;f!p-i47ZoJAKKs`zc#C&jnC&Rs{%`Cm4q z5qha|z$X&vif5np>$Rm)o6c@t4mmSsi^y53%en7@lCtr7(2F!%suvQUcCfJ{=%^G0 z#6ssJ*e}X@$k0{-Zh^{~p<{5<98DfjY^m;)EjRD!g}Y)0-!ACJ(?04l=ggUKgSz9S zubbbEu^(_-ja(b|!JidL6`>t>QR~b(H*~LXAMfTJxoC}cnwK^1(%78rusuba5xdyd zN*3mexh8VvS;p)f;zvL<@2duny%OMTDER$9Oc;WnhxGVoskKN>!g;tY2)C2*8W5IF^KN@g|BHUsF0G9(+MO052gs zerx33+Zi#MFM;=+MN^>~`$LrwT1d7V}&{4qC2?xmC0{cvJBG@p&)E?#14{?2#zM1X3& z!OEj#SV5CmOt-?)b;3hO!OWy_Z7HIpM~7g&jAw8#Wx0TPI_j>@tUT}Y{1vmkje+0Hcs(g;KFNyVxu)*b}%>% z4<-G9^T~#Z!f(Y|%zxDNyuCS3dxchhTju$Iph<>*3yPdI_6DDO2n}}a2)rueI)J$h zKI4mNBy)Lxzwu24Sr)e6>nm<282HE$7^S--fk!CuA6Wi8fkZ0~2+h3Vvdedfl5BND7& z09f$sD#8>|#N#Clm=hpS|1hAx2d|c}79Jp;{w(qz1K?N`%EXsw95@%B@PWw(!gwX1J?~3h{B;&o#)X+XOhVRS{3@4kf+V@8kxuX3DVQ#f|V(RnM( z_U0{NR^EWMBn0)V>L`SiBn6^AU@uBb)W<>D9+t;B^1nlp{IL=Mkz^I$9+AzEme41? z1i+-g&lC)ABy#cvR(EXHH+PC zV@cgEsI;T&q#ld(VrH6)?M4mFIX~!qz_WRgfnh&8Wo{|}i2)|=Vu%>+n z$B6YAamIdZ3qtB2tW$9(k83>%aKzBo^2lOduXP!oGgvKKrZTrC9&taKa5cy3hNCUv zeW4os^4VkDwz5HrMc1!dn}!IDtR_(NAKW@kRcUQNy64v1`kJ?7M%ha*W6L~`=&jgt zfqYPZry$Kh^8HN=i)9s?-Yfr+nK!BnJ>r79(yMoj=ICp4Hzg&3- z>&{dr`?U`h3Wr@qJM3l6xrxvnK>3^gnh9@R-YLx(=~3v8H=AKJo5O(6edk<2h*B!- zA2+ZD+C_(j2=SAig)UVshA)mpP1HNN3`M06(}WvFSFf!-3ZFaQzf5GnOykauLK~W` z%HEl%(+yW$C7fkC*E#PV)W`=bK%bXa5_GMU>GnHISxf#wDn#{oXUYbPxEQ&1&KDhT zL{*_!jo5`(ivrku8heF>3s;ElY316mrLT2+wXP;^XUoajyt-j03XlkLPp43#(?XLx zuv{r4pU~_v<{tz(t4im)@ga-shtS9Gm0a)|-B!ue-1F_5@2j`4 z=k9;}<$I1xKKNz+P_Pa7m`!6>px`EW!h`2>);0!o%tL9}Z&c4lC0!{KuWNh*oiNqr zte#Nzvqb(LNmNHHBnUR{rKL2xj`=lIbMC^OE#;L)e3F~rTJQ<|wpBm>(R;_2wHPHB z1E`+iZn18kpJl#FBCgO=+(`~lGF>D>=x1g~TsG0fgH1t#uDI?|Vt+YN&EHIdxoSfp z*nZv&i-n1xPkPLm>(fOSW3X4&L^g$^*U~rOWXHM2{Mg?(61&g%Nu5S>yw2Q&R&WSD zdOsvTT8`PWQY%qCjISUW?V2R;_*NlCrH!4Im4ayDT0pT8!9bNDOq5GWfYW1=Fv;}) z3{=r_|FH;M%OME}I>`GU`n4gPXoSB51fCY_j@)b?My2yvLZa3m{^dtXE}M$uJcMMo zD6j1g_cASR#8#O3k{)~nDv)H-7?)a>J7%PO+%k8&a?EhA&pUa$)R!MYXOw&^~aWS zh3&Ac<+}Z0mi7RZ9Jh93o)s@P#zGX^_-$E- zLQbyi$jtt{L+xs_0EpcQ@X~RP-7Mf^L^G3C9%Z-%Oha#04k4?$oqL8@GS$~Rc2o5l zvQDl1i_Bl|a6i%jYznotJ$R7&Xmuq$v6pJ;T}Q)CwnEhpW;-3GqdyduTz*mwk}uV~ zQ7=r7-!t9tkYO8%EBz(X51WqB6U+E5H>Q`)GUJBNOHaNF(Gtb!hOAX)9R+Ze3 z9G`Y8y-4NqDJl)M%Yiw_&rKzWyFRJ$2V^CeS-*X=HE%#DE5|%%lJ%U)nNMCDi?DZR zhQDV|SW7G;t(&-}p2R5%{I;bTIp?}!CGco+l9ju+r>?YBRD`Z}9XfVu9$CX4yGMW* z)MLHvgE6$hPg!>>A1xn3qQmk4oU8;2$QriHk5dVw==^iXr`m^~nuqU40WG&17LxQb zv*wFbdV$64Bu`-F>*eOv9il^dIeh!92sO9SN?a(OgZ#nWl?up7ZI0I=GHpe4xP7-> z4E@C*`@h9wDbKjFt1*J(xsuFo<;UcBix48S z#|LML{_;YAl`?L1<=Md zF-NkAEPGk-b6IEm%6B#9zmIL!`k{E7^w)2_eKzkTQ$VpyEUWoP2o=+Hp<7ajYs*c- z`BC9z5A)ZhsD0G~DLALae#LuKWH}+W84j=vd&MUW5gmF6v1@JY!rD%1h2rIXwP}@z z(;LE(T5R*$bV&lqnuQoOpcp5Z|A%7yA5xLB$p57#t=LsCnneKA5{0*r@%a#oK)9lltUv$HCl|-I>lyD-au*AY`F6P^?|H^&fOTx$nO@R+t->~Ii+^Uu) zl}vcqa&Yb+X9W}t$47`AS#~m6K+$1s|5Du>`ez&ZLlRo|_Lpt!+Xrcj9Hsds{*`(MxR8gEc?7r!) z`}ON4)02K7*{3A~$%XMRQi*O-N1)z-SX;lLYU$L5w`_skuFSb+;m0=~4NG2ar2;H1 z7;kaqp7u3K`j2~VUOcc9S@%kX8pBO+$hF=nJ_7L)dE6h2QME#M^3c|1MA(-E?j);Q z8BeNthPG%6rDWz2o0Az1e8sPhRw@}>*SR}spV&+5mYB-To@;%Iv^t}lqU6%NeEM8W zmdLp0hQ5qy{r#2!qH}FVj2lIIo&xAux_G2a884|`*@XFRm$A+HDP4;&w>?O*F$uCg z50EwI{H@8e=sBe~eS5?^4Uf`jAFak@VTW$-B@V9E!KfP~UFOeQtVTcoqUdU5CB3uO zWq@=gH~+#Fd^*`>aDMojlIh&@;;ps<-g@S|m`_<;EI~mFE=}2K4Gj(xR2EmZ2g%hh zJ}5=B2dMEI%O66sxADqy+i#yK)sEZ8dpw%NoTJGkHDXci!*gikMMg@U&4Umd6}Nz`&bB$_M7h%>U6YUqled>@ zB28TCa(42ki1#vs@^bixtpW!O7%;QAvkSemtO_1VBXd^G%hXrSz z!flid-#(s0LoSGT{AHN-IiHLWp@+-PuX#Cr447?A4lvoAs5EYG!#D@Bovj5SAUS+L z3_w$eM^5Q|o!n>awLPtJR^ay%aoTS236s{ag;Lx87gxN$)v| zP7UM4ws+r=Kt$*H0uf8%|IihvF0S(oIB&p22yjLY2%4JGviN@4hllBkOdcsRjg?UL z9SCN{%Qs+C%hIOy0~Lm%5)1u{g^5X_;`{dl0Q3#M>Rbx*P6;a5*NsR#>2U~=(1IRp zjmxMH?f{1N zV;gH?ot1<&u|ZL28gn8UCBYwyMF{lorHixJw0nvlLjCKOFAgEqG3FlqcJH*n5Zy3T z(9zzlXD?P9t}f$Ed94e?P8=9P*-g8Mztttf&xz*n`n&@oo3F|Dh~tXn5avf+T%0e) ztk&Q5uh2n-{wXTNtKFF&knuIKz;cwQ2ku_jzsh2?t_3sXqna|XmakH*tW^g@P{(#>gQCO znjdN+#Y0eb`+9VWEj`0=rHlLc5T&_;_+9&h`hzaN7)Q*p-b3g#>_-|wqMqfbc=n^3 zYhqFZiu0kD0a~TTP}aQTiz~q@qZB_raSO)lns<54oplIWxZYz{I&+WVsr@#UQlXs1 zL^qwX*qEj>|3ZCxVEjUl7(y~}r!*ucp$|)je=8He_`KwyHtbmSR=Xa0uu7a}`0nnB z(90raxTE%SH2JbyEvQdTWA%2kvUCoYswLdKL$g^*Oi-q}iw1YUu3JmA3SQM4^@yEA zy1ebM)*o=I=9--|De%{TeXdQU-nL}|AKtsJcHde?i@6$PXu8E$-Zt6b(ZiXK_t4<8 zwESCateK70LY}$hRjotk&iJ>H{oW6jA+gL>Lr#6nWIJJmYjUIoVI4r+#ibZ-OCN4baj4)BO@goaj6(xmnAG0I+0}&&V*&)jDH)c!qS|a3xld0(4s% zD5ZaX07gBJCp5To$w7w34g)DR~U<3oi|k5X!F$#*C>`47uJ{-XVFGdwC$c0D#LwqqNKOhV3>5 z3l$0`kUwG2$j?ValjY1Ec;U56u5iGuYC72_Yb+VxY)AjdjnoyRBC4*V|-!>ahaK8uOh*kb^PAUYk;_c+bLnwL7%hdZz zOlC`{A}?oj7$FgGH>?TI^gh1MY$LId@T6yvSUJw~4W%uiRQ?7(SBhly@i&8`B`e8< zS6GCNq#*gKTN<2SQ;=U$kfhRC4AKE$s~yk_z=V}mwKf2}-Jxaog1m&;sR1O zu7XW+XP(LTnCt7rm>@IGAYG-0Imtce$29@iH3Tp zi|ynLwnTq84mxpO4SEryO$+f_ZQGIb<5HL*+_uJ@L~;ns73XXxL7{Hg!S^{ch?y$d zEkxV2%1_r|iqCW-~D1 zDpVth*2MBO@47@8fH&fUkkLmx995&CQ|^j+@JwXuz`?UC4P@j`DUR@k1`>l?o3#Gi zrI!?mDqpfsbXHV^x{Eq$qHbD?gtc{CzaSsgMH|Vz+z{+5^0L9rXomYGG4$Y4P$h6|mp_++D%4R8KPo zUmTvPe~j--UW>TceYbLmU+uz+jOeAd=I=N>U&*!rQ^6~%=?!k6T4O!lNv~QHZLHn$ zkbzCk$?Fn@$`@KoW1r|jrNvuX1RyqBuBQXjY$iUquWf*FDZszGOdWu&r;`Qx${}Po zFOmvBVl!V)wcaUqHLyYUw2etu9`xI8QdSxNxxYiBW_;E-R7KBhe4O}UDdftwRBvPP zzVcq8?5xEF=R@ejEdMKR6hPbf`OK&U?8m>%qVIfB9=er2Ks&bgEJ9)H_0NtU_ZGTO z8;2B=^#UQQBA%HdoARBF03svVlQ3ezUkG z2<>`0?-}ZQ_G2Hnkzgp;dCxw5SQn7K5ui9FDwO5_8q%W6Rq|f559aubk5#Lb{FJqM ziFowv%_fJl9J%F0z!<0Y)pT@Z+;$+Qhtq!zmD%068;>5aPFmf(Ne6;K=8q|=oy}3z;Y8FHxP#5=?7`{ zeKZJlfA5_r=$0-$2o55H2uWhQOFg;F2q%E1Mi1VlEZukMG*B^W)?%in$Xs;g-*Ko? zF&th!U64&&_@}3Fd`yOAu#Ah;)72@nhu; znz1n;8hNm_4O9ZxFQ^-r<0$|l30|jp-*2e%W?)}Zr~b4F?}vzX7m~^}l|`^EWC|x)wWs3;#=-ao*{`@T*qD1TcDn%);=ny zrI^cB|L{EOL#PtUE*(G4!TX(m7;Pnp-8yN%qOP0KMB>b!5r7%4*x?aD=0j6*%w^1w z)WnTDRnl8hRGTm)2l6utO6Eb1qjsv z1HbW^IY=h-=C1MS_99*MWi-y_WCY;wfhmX3>RI2*3)iVPL`h#O)(Ri4HzB#NrShlZ zyYjb8`*$8mhZwdE^b9BN{Mt)c=xN8Wy$LPd+tT zP;VK#G5*xW%E;e2lZ32+GsUanZbP%iAqBAco_5sNvJVYq05o6j1?%wyyv=4EsN(DU zfm8Ur*fmr1dA2#?+i@~^*(4rSAPDnbe@J&HUgNmtMY zzio2vcn)6@o4Qq6K*dk?U3hL2SMHgTx z9!M|JXIkkfXmmbi>m6S)3_I!`jHc2}fVsS5>s*TRps$^S&WNOC*CT<@O=3vj#rgy@ zhUq$u)9l-5+?hwCdbV(x_a3{tg2y~4Wb_5=a{e@hUvhYmZj+>N9)%e@H$Z_c zmfqy^+Hhtoo)2&>xv77lA!*{0+`sxE|Lx&{YVgG0rI9-zQ*9ASz-vUaWpN< z<8TQ0K3b8q%Bd7U1mUV-|JJD-0H~Z+FF80vtzTpa;tpKrL+Fqc$dnBE%(#QjpJ*jIn44Zb zXw~>RF+h^zeb8)|(m?^hJ(%-T+l1W(FGxR7*KhD^xTa54VM8+vrksB2lH(zv8J&c$p}@oY1drenb6uBF?G$0xcGvSMSMb%#*t zY{E&JVmG4%rRQ#C`?qF)@)da}HO_ag;*~X4+5~s!aYyiC_1T$xJHs>s)u-!NsyP)N zCTb){J~}NF^jMli^K#E=Vk9>&pXOnlLxa>_#b?P5=+q(9F&m*8^E{1lf4HGAcPCwm z*tlRo+84Y&r&S|#SKe{88V*{J@ov(?!?glaw^KEgkLs?+V>xwo7?!ub~iIM2FL zz!cK1FWnV*U&fV3Wzv8X9S#5)XcHb*eU|JpRGzBVs_YfmU-SLA9K!7nj>5`l#pNr{ zhydepPR26GHVMTE&PhNob8l~%9F#>GoBwH+d~7B$J!}w@8unYRB->@Wxvdk=OD~5@ zf-YR8#-<49ob1AHPJDSh>@C30m1i=tr9yEQJH6&!b0Nz36ti5#;Ekp_5;dUeOU6im z=1SGv9ViC8w1^z1Q%*Kgm(kOa6zoMo-=6^ckirC+qnD?4Z8>;9HXB;!;P;k5ghIDP z7IXmen4Mv^IdOnF-|1vxNNj8y-Ri4;_c^V!R zi;3)KAP}JUrebw~g$vdM9d-ODXoKE@zubevpFQV*-o@o{(Ox}JBO-U>nD~+;6JzZJ zmhl=zvXzg1eQpL}LvWbOPByb7pVWSQoNnAImEi7q@?At_6*UaA#z9$5Jfy|kl6(N6 zsy1J8*;q~JF%ok(zxDQ(G>)#;+w11RM_n@B0}hDaOs`PRQRtDzn@>L)=GFYn1$HlL5$xybjYTg_B;@rFB$#qZzARKTOAc){jMW9Qm9en#5PSm~*~sR^WO-%&1}4 zNrdd8KYjV*BF>?7IbIiO61}0KE>+W_yBzD5`5`3qKr#DBrf2nj>wFpkSIek<`iQk9 zbpHK#A!;b4nZAnu1i2th8Xs{IAjP(A&nrU*xdK|DFIh!&7VZ` zS8FfR`=<0lw*W^3h^dK80n;>q+{S*~v*yp9pOJ$x*u*zz683UM9D*c|*R zJOaU;fhB$o9Kg+QZrxws${BmidVeqT3X_7eUU~8fDD!Mha#); zRZ3tH?s;i6h-h!kC$pDc9#U~o=SpEAzE2n3{z+)Oii@j z^_dF?Ej>^Llxgv%#3)(7_9H&~Ro$cx6RhBf0cDjWzsB4*`1y2Z8-qxZ$ot*nXQ1z| zyFw2HR0b$nFVU!NsjUd0VA9#2ReaH6tR?^hixj|v0~y5{u)obeBc56e9cZm!jV#;$ z^oTD>h(->x@mYi(ARojwgZQIUtKv#m=8mT+n5!_iuKtD%qkU!6;XYpz#`Nx7jKr5F z2+U0ghIQs@$uU!6T~^Q!PLhlKe^b3YUKp=`dx3)gY7B=&QrO?0ejX_Ps=pR4ehmP0 zOoE+k-)BpiR$#NLL5%VJU?nKB;!sMd+`X^Rx`lg>7RROPrlxmbEdTUVf=qc?VzDOt z9HubxAvD)aWz!c4`R#=0rq%*cO#BgKrqd|${bIf{D;=^(H7tDtB9(4sXaC%SUEedr zJy%zvOG0RFV@Nl)wP_&siK%zQ+PEW(L{R(Pl{D^RLkAt@P`0HGhW>baHfZUisHV6h zN6{lcu~el==LTII#{j%NejBEDYmsEY-Sbi!{$STF^nQi*ihnQC%}cC&qv5Tzh0E~6 zKt5aQZ&k*Kf?bsv;Qckf{&nO!O-p*MJyr8LzR^mm-1;J}B(nEvxNR*8PVS9hqFo6}t)&#?2&Dy8(8vA$-{w@*YS-J#yZ7S*k-FXxQA3~DB(rJ2+~p89@9 z{+x-W{T%3an1G1ZI^v9G2UBolLC7i6UO@EG>Rs2if!>m7+Y9UCej(3Nl^|nhr87?R z{MKe#_l9?aDtgb~@P+w}XE-7kbnh<+O5G6JrqN|a$0S-iw-sl`%^+Inx|#G_A;AF=}Lo zxX5R}&DJP|nsSeEr21MW(e8&ROf%H$Sgnk8>B&EYrmlIdMc^gMfCKStnoUgk7&m|Z zEOfr^Ry=Uvp6A<4k)HpmtL@9Nyi7>ql^4^f5n%l4k+Ku@wN}!k$xhaJCDxUyRY?MV z+b^K|D*vU{(yINNwF`5iCA1EE!%Qwi9QJf(d%WJ znNH3mHH&i(mw)Lnlyb{zQ>`3KB0zsCOFVuGV9@t$u?>_plFvq&)IPNfJj9!11SmW)z(`a zD2SZ6)M=TehB0aP*C;n%`EczJ(sb4B&_Ql;v#rG9P0jW9(HBpD9*A;PPnk{Am`e!7s@X0@{Al?v`8WG0Xyk|GDj*1Q;QYLvtubUPJY7on|Lnw8;I9)_B{$Ob1CE+@po@FTSI&JI2@e z8U+<#J!-^BJIWq#(c|Lw;6p(#VdO0If$96|2Fnaa;)wOYJE~!`lCaYagK?eDkybPO z#B3mK&)kWUn3%akGPWZOv;q^7yqQkE1A<|OMeN`KS=MohWMSfxyvwiv>^Nq+LVs&O zkGhwyS+3k#WD*e`RKJz~>mngNgZM4+DD--;j3dtN^gQ8nVpyhqhBVvIQ_--W6HXw3 z4({giCU#f&e>wlBeL{}8I~dYS`-b`CRRCVc47**8%}xDbqv%xbQwtMa+*U1MSxZs~ z&mSOia8J(&`*xQ;%q_t4{-|e{GPL3N@hHf4ZG}nz4#`sTi=FTH?ge)*XqCfNLkFbJF9XL_KY@T za@}cBvw0E3s4X<>3Q5$tW*WEbGN$;7Tft-qSA;Bx=BM0UIv9IOwz{9G)@Fn~;b|Vs z05;^2&x!Y*s&TJ&K*y529wpP4Ve@P#Xj${Je3{BZdbOnDd;r08hnoj9?mk+h?R%LJ zKkqQ^UX6P8vQx~)kLx!SDDr@Ku6kw4ullh-T($s?3)b8sFQye+O7JqNh{dkipmt z+9EdYT_T9lqbY`ZjY;u7H%Hc?o$9SNrJNTcbal$AM%s3OQ>Fm`6u)SdCa+vDCmFaW z@Eb?LN0P<0OFjnH5we=C^hlSs5AGiGXArooNd8ajNE6=foz%ulotM#C&R|X%UMnxN z=2s<45O}VmY))Is1_ZP=bJq$#=P0AZzWc5eQI>V(?v!v=tjC-u@55?-&UwU%OMdbd z*+A3tC$ENx*UrIzcXl|_DN_75qsNOrArTm(cK^5Kfh*&nwA^TIWMFd$T|9ji)bg5_ zfdBp_5Cb~ROc6tg-oZrMTe@s*MGQF6S@-j-h`*GiZM=IDE{XeAFb0-O*t~B0#|SKk z*MV{lpok27yF86y#NwxdBj#6Ym5SrC40j@dTBWDnAIx8;`*y_fgcZn=RMQ%O@yD@0 zD6$S;HjNdYIKG13ScjL-TvA~$so(%@x5v0bLflvTQ2d|1viYR4adF6(U|n#I5q{xA zDZv0RMN5cAr-@5_1XD2tF9|FYqgGujOiPh4vp`&-@Gaci|HIUK$5Z|P|NqZ(IQHIT zmz85Bq{KmzRZ`jGn3a(zLdHQdL&#{+P|4mij(yp(#Sxf0N(; zA%8-r5{c9M`HDnXYK3(9cWEi2bOi(nNrh$Rg`2`y?O#c!YA9ax9g65XL|6ET>;dB; zW-1ya*DkE5zZ)XfVfJ|^6e#3V)p|S6F>PthNr1ypnyu(`fUXhw_VR=^_MRaE4Q$}Q zR_p+2Oi1(ze96IRCxzgZcb@Ywer+b0NGv-QM5Q%{>IaKxlI;&_vq+SztR_L=AA%m( zVFh?!*+*`eP(^p_aU!ui(7Kl));(~tMQ0zftQ{P$t zq0B&v{#q-08>A{w2YNeJaqG^#gI$4d9r$2|Wu)hR;NE@L(e3nO)p&-*D3UeBx;ka$ z!6_v&3HZ{?m-lWEuAr<+Q~AY=c|lomYj1$Y9xgDQv*_xmZOntxp zm2HA+O{4AJ)$4@%1w|p@iD^B<*HjA|X zO|)trgd`tGCNG?rN-WtDeqy=fm`JZ;J^o5}5>8o=pQsL^e0z4(I&)Th=JDaF(FJkP z;U4&<(4%W_tS03Lx46URotgE770i#lEX7l5_*g3?8Wo6O6&1kjnDq|1cg0_?`(Dah zI{7p6uffp>LTrD9l=N`+O}N5nr}d?GHQ3!9<$mtHkgpl}BG@kgPMI^zv5GvTX1Odj z>F&y)M7N()R$C=CEALlf^rLq0i-}ph%e7Y-L{L&#i9A`d_+4e~7+2GZkdP@x%JznL z$oa&Ztu6FR5WOeRkEf(iXo1#aY`3j5ZQ?>LI^i}*&U)yqeiT`!$B-Qj+J+Ms&9W>s zcq-SZ^*yTP=}brb8h1&u=s~hCf|-jyn3;1Ujh|HoutENy!OGcibhd*k*=bhO6*Bo` z9)laN2g%L4e!M#QzMJjAP4V)mEG$!NhUDIRbVAKF+bA^uH+H9#;^nk{roz1cP(buP z-po{QmDVrJncQUY$^6v0)cg2D&wqIA9>YRz_`|WE{qzqq&9_nyZzgS{4n00qWk{2d zi#-)^h_1d52xy57sOYFUZo^Oc;2$E|Bs)qDW9%a2FzmY1zB~pz|Nqg?|A#%3uZ84s z@yHn%7bir>z>;HnQA)W4w=#1l7EJ|;! zK`f@Hw}{`gK6AR*aw{ZJmMP>Y3;&)Ma>rn@UDS>X<3aimbmJGnSd@a4r|(LBRbeK6&{!aW_}qB}mPjD(Q!~$9&6_ zK7TXKwLFW=H;l%+Z@AWOFr*InM+d$6QGtG#&>LVN@8VnAw0xyCJv2kkqj2@gMX+Hb zrmp;`?J`EbCFFcbNFdq_|KQ~sNEJkUXJ*bnv05n=x?%K(nsnqx-8DSfwiRe2joj~W zPJb3OyOJoAi+#SWKn|0cSTmZ}^?)>eyx2w(Zes{ZQ%XB;n&bzcJNQr5qFi z$5PJ+>3I<(0#xIT87=;Vj!wbPV6ak(TqS$1#Tm<0pCMnC3>Ro+=OCPKT8i{Lra-Wk zB`d}PbK8)C)YAnp4QgAOr>fr#`yuRdamU?l_DcUBcJ*13wQ3(kFXXZRmlYqFXT6(JTF{gpa|Uk-yT=kBU|@lj!r+SvbB$s_VL)yQ5Id zd>o*gxQ8LeLe>6*mj`#SAO6ph9!ZF(Mr~!Mh*dN5&QK3MHIeWZH16r8bL)}93`ag@ zXB$ivWaQaS!r7TtO8F~&G!hi8Z{vFB%A#{iX1NeF&U9N~$o^)H0HDhp{W;bC8n(Kl zdY3;T^hu+g;?Exi-wh!PBThZrR-uz8CBiITJ~Hors5}gdaM}$_D{yr_v`eQpaDIile7}aWr6QF~;-ZG+oZkOjwK z<`R72QlVx>yB2(_2^=uJ@k$p1@%ION-ZQ3hjijaYvk2t#S1KPhc|&SEn3s0v0P6P3 zpTGw)H2Z;4)|cIoP(F$*WyT2&qzvBWPF|M^tXnv5BNCO(^OA7?YRIo!0&>P1Junpx zCNQ1rr?|rtQN!cqXAO%kk$tm{VT-yIO<;Gw);8 z$sl&3(63t~)ce`E&bCz!=Y3M_%XIkj{C3$WydT$|4MM+x%5CTu1U&sDiI!eSo9C9R>e z?i}-1gUIG3=CqtHAPB6rmid{)!`tM0W9D!Xi}&oWoBNBjEDV&u$Lw=~;57FqimZ_h zV>T@`IRHndsbTY0{{+YlfBb(n1^XP%7DXCh*sOb}Ae;*{O}h;%*vZf-gf%@`gf+DZ z?&QogSfxzzBAT8oX%?A-QMk8S?=RbgCa7gn&-3y%Ok>Ya7HATPq6E3rV zCq`u7Ym=1NO*EGBYE)9KiBz~F>2mRWmAws{iB>mwF9})#0SMkD}dZ%10GW2hkIj_%*RYG;PRhQw& z?Q6RaIn8OJLcs%9h{aD zp)&OmCtFs^aTYYpohh$M+qdxWFz=VXrhA-SA*XGEN3UPK2=YP}$wF*1{cm0NHX{pX z)QRG*BXYU2*G~opzIE}DYv~F?`T`qY90?xH{4D;&Q?h3)9^1xbOhUmPZ)IsM{OJ5@ z9>&LcR#j=n>fG$*`MPrqpCT0~WNu$;9sBgkA}YQs(4*~R*(!l)O+il7$C>ES=C3Up z0C75szq%b2moM&M8(+QaRg|;k3Vm_mtmuivmC`mhTMN6SM@8V-_`FUDTlmmXY;@Ir zB4mb(&<)`h_<_UEin~L!x!*tvN$m<5@=P48E4gnpw^|oE*Yk-G)aGxNnN?7>yxdI- zJdC0`*94>3Qn+INS?(Zq$F)vLs{o$A!i=X@LzjlqH|4Y*mI5^HQ^Y!$`44&aqwae+ zz(Uu%`J7XzZk(<4T0g2Z{U~8(e~8s7$95)6Gj8;o2C-(ie;o?CTX}6c5|R=9xpM7< zukz<(sH;86W{7<`CupL}*S|po*(Vl%6$bk(f+G%x-7%qn&%>mMnUU}rS#$~pjTG_F zuSx!0oTJ23v5VMwkModZNBDdo@xfU8yXV=n{gweE9pzny^+yFgSwWqFjuW+)T`xsU z69H!dJ4Zf+yU_87t5jv5;^4LF1|07IoFnbC$()XsL!AkvVaQ+NS%k6l9UC9>$6{f_ zhkGS6*+wDARH{vuv4ebW7YF?DDKPYbBOm*|ag!q9{M1lt6h*mrgtmg&wS%h3`bb;bF7}Th|A96dE3x5dgO{xrOMp@yGyQ1-SAEd zV*oBZQEnVob_*y*xVi5pd!!2Q%@9YI9!7D$J(e(CO{q5tNtx$=L8$4N9xQs!vCvtr z@CTHD(n7zBl28`z&_1ipmE2?{S|0V2T=cSAwUzciKboGJ?bK6tyeWTs$&9pl!gLi! z=JTzRW;?|lZZzG8fn5W=??(=<00#XLxJ6sw7Ms9A!Ji7i!o)}xQ`;F5mQp~lK|-C} zDFs=Q!Z%#PNkTX{TGFCV>Op9DD&v2MHUoJ%2fNz#WhnEDc&E@NxJkmdK&pkDFV3wn zC-**C+|*-R6eW6@Z|&)c3ZNXogx;rbrrEU7MZeOd>~x4Px1;wX!7N*#n5DlSKn%FC zXX}(OnZqGy{m+utv16M#4CANC-Wy5Cs9fZrvsiYzuq@saE}BW8M33(^5)8KG>XBn7 zf*C{%f*ELXC&DORPq1J1Kh#3a9lV*su$|B&=872og7#)R4?t){4L8a zaef=8)Tva=cdYm!yG5+xv*vEp%bL@{lg-sa;a$d0SAPm0u=pWXVG7o=5CvD>kg#I; zHwlnWK?fJp70-n}C@Q$@fwh7d$AQ7%PeHSjdUyH*5u>&rFwDX({m$R?Q^p0DIjyK6M! z?IL->_gJy~my(UF69MXD6I6LMcAD=}o}3Oka{ejO?*>LqTu$ME2A349x#Gqb(`o8A zPzL4sA?`_`_xtt}zNat!O{BlTNW(+}LL`dF%-1HV}vkMtIAxf5c%(~KR{k8iV%#l)?~T&TQLV&>X& zY?^94?;QVKa=$`2Uv4({@cM1p^B?d`(SAKmpYk_#sSFp4OAp>$(vih+jqzhUcm|)E zU@G0Q@n-n-0s{j7Xyg-zfWDPtiFKhranHh)Z9D%Vc-OOMxA#VlUJbj$^6H7*bgQ!% zSs|@_$qG5{d~^;D?}Un_2DulfA*v#b{SxD`7B`|2G;aT7l&q2P6;thm0Wa`BRAg3Q z#*C{-^4Q|duPq3{F~2qwG`x0>w&9uO6zs3ptfrVTqbT36LzkDXkhRL}Y~JnkQ9l^u z>-Wdg`#HAU$;fEULVe_S5G=}yq|P-Kqp!ZVEto6!&F_2qWT;UQ{F*KL#gQnI?C=Np zZko!y(fW2m5S#^41?sR3TB3ChX}w$nPvwCH$2=-%n=?1p+A3-aOeZ2=o*sl>bNRC= zhOHt-z=!~Moix`&b$@q`(N+GMHmL0m6%95eWN#<{c6gWl9iGE;w{ka;`nkIN&K*yB z2{;T|v9ACCfYJt#=kYtLP&e%s@|t~u?SDqOTov~t*{PRDswgt)Mc20%z3t`F;uPjS zK0g*8oW;S^RCRvcJ|c53EeJpcb$OjkdI^piTlt+({h=rEnvI|Nwbk>4(eIXDtjj?P zkal~i^*IAIy70)O`;e8P{yP!#A}W~dhtp{oXW7+{mmv4eV@@TRv^&WCCUWMxT+`IQ zSd94#X~96Tb=g!d)K2~m22H1(q005B$$}G{Z-~I@&RGlj1|v1!@ss-9lUSNanUWdM zV{^K5pSYyQ{vjA*SkX_pIkG<_&5HYv2`6jo*+Y?^(Ff-`ITOzO$0XXV?r_1e5*Bh0 zO0dKC>!TzLezrSbtc`(P>;f$Fu1w;a=GHEjqcI@YVhTm7D94l+qNAY^2?TJrzREf2ZEtE9Kcr-fNezLioIYQuO`Rd?5k06D_l@i>w+U zw#M%|TP%>?X{M%=S{FO5_?r+@ z65UjKXe2WQ>-;J@eI=EmxdC?zYjBb~{}my-eZ$AQ&FWx!Y-8CnYUXhe@wE4yyP|)F z=^dk;sIPtrI`T+HU;m741?#Jogtrs}moPLh<=&C)aL?kL{mr+ltDw5UkPvjdp*>#j zO>;=@-rxuHv0ws4cm2 z3Bz-UPt?OhSvZiYoM)dJQ(xzh9obinFraT|{G;lIjP1<7<=Yw)h~j~1f9pXK~r5+;{vdRKqJ;A1nTB6;8D;s6G6+edNG0*HYCwIKz>0wMX*i5gA=0X!Zt2GeSJo(>z5AAI3F zq-KbGyMwCK=tJZfVfHP#92N5Mb0AMgSe9xiLlBvXsqU(O zrcd^QP@`lUyo##2a+!lh%1+g3c!kT5OO#M_;w1OL9qQH6Wz5GzdEZ2dQQo6lY0{WQ zEJmVFC#K$|zL_|Af2P8sPP{Dv#ImNfzu2rR35r7>mgm89>Kh#FHVQfRZz|S$b?>9^rt3#Duh`9M7*WJ{6n00z)kP?{D0FX1#AFi+DPVxT^5sRPdL`3CwvEGsg9Kt2#IAtZ@_d4 z)eQsGHYlz@9+_+D7CS-{T$OK;$)SIUd0eb}$SDfeU%@n`6YUAjtQxV%@t)#P8_#4u zluILBNs;Afo(Wk%HB~i zmAF5<7NL@6h@NY>Vle22KRQn1;wF!Gxv*HgXLM}md^(h&b{~G~*hcdkdrsu$Obgxb zf+Nf(UBUw3-Dmi8wv6$a4nO8QB8Igj4i@xWx%=m@(@8~h?r&EMkU8vBQJR6g!_giJ zW?79yc9Z7t!xmaMI*MHC2}~XS?ML+{D!Oj)hd-+)s0})ZSEX+#vYz0MBf1owVErlL zHhVAXhcMG!J_7}Z{sv#F?I@ZlcD_ihjTQL;wJhplArqBg6i-7|1m4ZTZ z2S>F7UV)k@6Sb9^vurv0LzpU6elwOMe^UGW3?3s?;mBE+rGhmOIgCI3ex3RPv-=Iy z6*U9o=w?*jyHdW`4(@mM)9AsD1>Ly&7iPs`6%bB^_(>^2@!ozxW4d;~u9Kd^8wVqk zToc&?y-S#0DJrGM$hj9$*gUf+CJm(RIB>wz+BhBU5(LXO9a%!>l{!Ka9ABlPXs^!2$j^*?Kx}bcI}p zLnOo74d8gz^sZ(m!{%OYxqJ7ypnOj*5>|U*H7RV3cmJ$PITu?oB+(kIOEncK4Oe<1;mQ!v4Ko107B+`;eVp>$!=e6+?xkYv0y+EEU)!ZgsBI1BUW^Fxt9N=_E9hj^cf1R>tS zngl~N1RP7x6yA(YiS(AmV1FFLR-MVuWFwwY+C4yHBK>Wc8_t+%)VGMVg%eQhH4#e? zg4O#UvcZ6XOrR8r-LvujIU*XwQImLXTbQhmJ6uwi8~2b`4b68c3Rmn2w!de?3DqI9 z;RT7T8laqm0E_jJ8i)edh8gJHcb*@SD;+bZN@!*WfQXgJAv#E&YiQE_ipf)%EAALr zLYibWD49JcV?Qk;N$_nCtjVl&;VUsgS-hHbRh71M)&aLKgePVT3|kIc38SF|#i{1; zQq7xjn_kz+!96>l+pK(^5R8vA*wkph@lqN;0o1eWY9sPhjB3)-0N;?_1cn-||%L9%k6gr(> zTx?hH3(hGA%ie9G9(qjNOPfJ%%2!|;2~U{Ej#q2RPc{zUMBmCYRFae8_+mXhCuo9H z<`GQ_#6maonxg{UQNuT-OS!V|KO9FYUbNt1>}X_i6&%*o@7gJ#B)!xa8<(ZjvAp@q zh_7R0a*p!`mt*45dYp@!f`i*($J`VN*Ohce%^74Q;Vtcjj^pd;gu_mP)=j3BcU8EF zv>NU$ZvHqq^K?r)y6wz5HS!D{5dRAl1A)xRHBqw7_p4j(YpU8R26_nNxSRm6~Wj>755(C$4x zJZNPtxa5kSk7^cV6Tf|Jm@gE}vpU-#<*yFjS-PaA=p$1yP-$PISdkBTm3nf5Pue>( zSqPJl;bAX!EvNtw`@*%J6X48y+S0Muc?sNHC~fPr#-gk)f2RhT5p4q9m@bNlD~Hkf zC$6nJwnMkhSsq(MXXuaT9{q2-wx43y)w!%{b8GY<5H~n@z#%xysMd4a$g^;*r%DFzCOJhpUszVT{D`%U(!#v|TA<1IGU(pH8V=;pVA+?7M zbeyy1uYQQL!D89G7{5EwwPsYV$(qzZ+DZfWDf-hd*30nPMan-!qY=8tDllz<;(8W4 zA;LG+#iDFPaWAWrbUI`&lVmAbp|D5XS{xFB5P*3Oj{KfpFcF4Kngqa=*39XEQBS)9 z1SeET6fYKG;jDTnZ;L!gvI?8+baL1!cS5zR$jWiM|E9>ac5cbNEA&u=pC!$d;hi{3 z?l_F)DDACcV-k|0q_*=Q;BEz?(GA&~=w;ILW_utn>GrzhdHx|TJaks%Yo@Nv^5sj* zI2Ll;nn_M$fq>7>BmpR2si)UBbQ9X@ zhe&bsi-E=%&}H?Qft^oy&fIN{w&BOe-o+#JUpBagNCM?MZ3Dqwh`mJfhxf|PwiLN9 zsjr6o;L_l@U>`C~WO}sVZeX-sbet+^o;!YES?jg|*R*To!(LX%Rdaq0Ug=DAON=jV zuA(^AGiF{YPKaOqD^9`JBd_xtpw9l_-i<&W-m;^4GY=2@M`sLF3B+6z7HN=**o~t8cf`Kv-RK^;kGHhX<|j>XO|`GLr}=ZWx0~-HrJ=;Z6aU`=ede) zjx||sNt2|kc}kTVNN-&%-(Qy{T`G9QB!jx#MYO!m08#zIp5#Sdo-3NXumsC*=eb)Y z^Rd`LJbFM)P2oWYhwaEcO_0bu1Ch6BGzCpT`u#+iPhC2>lji(^O=k^SLJ|+ec5u}n z^JlaYCCxa|4alO+OIZUlv-)O`$98c=iqyn+#VhHS*+kBIwdt6bTm$K`rYph+;19%h z)NF>K`Bf1W+<$k8>wl8&SZAK;NPh4)=x)fYT@(ZwPu4g78v2L}NcYo3zSh1M1czHn zQdjP!)2K?&@EY>PXXaJ6AltSuU++rvfiyqUzID{eM>Z9t0uzD3NWe3*uX(mV^s-ez ztV|)w_xyP84Jd)Fc6;)a{#pL<6#GP;nD@lHi}mmb9@AGPn`@^%&ij5%TSs;4*V$*j zfod^oQG2*TN;O>L4nsj^aG{})>M``Xa`xrYx8G|gz1ky4y>np;TVGf_PFi*Nd~F`i zsBg&&Yxnodvo0Uc&hLGAXjVYV&Ty-SA ziM;2wWJ%5pvXA@+uh-arr@S*8TQauWO3Vi-bV$+u*j2K9V~$2VPk~_P-Wt4iX|= z-zLw;?QKuU2i=6%fOqcSnA0%6Z>}eNi1X<@M{p?0Y^k^n{TPaOq}-Z>#tG8;OXn&$ zvfWs8hysP#KqbE?sw`Cs;j*qDyP+bw>Sy#IcZyt=?bu{--Pe1PP-ZF`%W|E=Q`vEr zg_&Q`vWQJ(L+cy;;jn%U=g#7$#Bc2A;zjbUlZ|K!bEcj}V3I5~r=7C- zOVv*FG>}2k>V)*QXpx&|I0M^7o4LDpAq1}d+|Dp+$M}Dqy}>l0x|Idvxa!=Y-CxC- z+4KNf5_JeknY;8U3EiRI79_s$>9mZUvKWigX}|X27@eHc=}{QubJjD7t=-+w(Bcf@W3}@=hzA3#+B? z&&N{0Int7ujX3Vbkye3MqE3-3=2wfzpPq;Nr2b1T0|l;}?-Qx3_WDOn6Fvp z<`82jx56$;;ts zy_A(pU>#Y~W}9*+zPu5%x&81#YYQ#vNK%}2=Cf2VaCTe%F0Mp|Er#{wR8A9p-}p5P zpGYN{P1ZUxhbua?dJNkjM#ooo(n&IYewyq-ne+KYY+qpWU9pkV?Dq51UKPvdcCJ6S zdKJ7D*np+IS%<<)dc?T{K4yivnoTi~WeWYM!UwYrWT;VtHni4muC+13r-URRqWviN zjuzC)E}U*5@V-n17}YrL?DASlweA4!W(S(s;h2c#YUDY2ZS35 zyUq5eSTlf8-xiLOQu<`V(~t_@G+`6>UWpCS!g(050+=PG^{2S~Ug%IHbXvS82xK@M z)-YLXWzqT*vQR6eSyog;P47GsGJLXRB^+P=qB9wpkx7da>KCqWDivdquswG6Tm^r& zTMI2$AaI|fH_mHnO;SVPEv z&fLP}Qd;JY-z5xm5o7hw2yl@c(KoBqxKJ1Nv> zd0zHHtp*ASD}wXpa)#v|WDWPkV$PKjO30f#d=As0J0osQ6DWR4UEJ&SrY(pKICX06|3=4`(6XDf zdB~bcia902p?s@I)}$xeJ2enj7A%>>eI^mQHGB6t_Q=mtW=&=F*qC}@YsTGXDpW{^ zFz-!3pW+dvkkkCOnX@ejB!urT+mJOvlgkgb90{(HKw-mwS)<5K-962d87)MIAmP`ekcvG`jhyf0)OE*r$+0_r3F9-I?=df%vg zu?;oo=yCg$&v;dUT9#tId66q{N*ksUiT&!xlZbS>z7;IfNEgo?TP%vSCQ(+bc5jfR zwe7V|QT~PK#)WS#pH|+C;_Zx%A0)At#!}@33R9O09$|_My%&)_ZSp!A`R&D8?BMum zhRz*pAk6jpJ#6GD&#kFouRdED&DfeE(cdx;8+kFmfmlu&=5&^}Zyt~E_k ze`ZP^R()m{HK&J}m?euS`o0!31&;8hyIDk&fhqa*Bac{r9=ae*fAa>)_1hukK?fcF5Q4L~flkgaUO7$mDBiXcH`*RZ# zIT3%|SIF3@*`or_@??Ehz}f>Y{h4mXQGI>NIW-X42Z^MVeG#?|hn@@?G|fWK#~z_m zs_qaZYRZXyl7XrbnX=rf@3au3Q9aTbkExWnll2bAsQ@~eA;{fdNDu!g5cfTHDC?cq zX6fm-Z9gHq!_)}!f9P!MUgr+91cMtCJFnAm&7JBw;6K0~DO+2)25I_Iy6GPAcEtUH zi1=6){i4Ae;Q?KM&aAKEZuq^xup(SwEMkK;dT-CI2DM zWf?ehjlQJcVLHw8+GfW z2+^wh4aLDs!>LR|YeXr-4|O&k>$Y@4E|xVn)^3`*`PMPLxY(sY7WOy0dB-YVtik^f zk1lfqG6>z1EDc-neSa*`wFXKGHoCuwGxPiA5b{a!)+19sgBK_E?y3=<_-~uYg~&T> zt@30l;GJ7zd3LQ|ipa_cy-p!8P5V*gDOJ47;1~*?5Hk33*|zxV3$D6TzJubZ*+9`z zdUA#WkoKGY8TIb7qi=$)90L!$wsriN}9GMn(ab`ng#2$%e)qYfho0 zarJyDfWOa9{RpbVjn5mbVZ?Um2h?-dN=%nEVLRuequ;a>XhdwjK=#~H%E1j z%JYYJpkQ__H;^QoOmwO8gAPq|evV$Sf2Wa0S5*D6`vFdv-|>$31HSQ$4LV4`si1j= z-j3fuWIm8%IDr=}m4@8K@aC z8HfgNh~7ax%gAKnU2cc4RAP@8krt%XI1t|VO0=BD$R(&s*qT2MktBcmu!n_E2Sxwy z@$Ysq3+GG#gFjNM2(h24jeI>Fq>C-i+j;5BLTRH$@7}=Mn(_Ybq40_xaf%urF^+%8 zZrrGn^?~DWNKFQN_r`a6>6=d!tZqLn`_MvTaJtY`{Y%`9HI&VEojn-tM_oHtG2}7# z6W{RxlIC?(&1u`O@uPue+S{g}sjqe|p5#-*tus+*ApbP&of_Agu~;4ZLt+h{hiNcm zBS+k|1qMdCs{ni+`^FAYBb9tI%=F+>?oK+r(_+KMmCt0ezB;2=#ba1-1oG`Fb4}$U zKQAY*qvk}uTb}x=L^moc_U`gw8kAe}$TcGokK;Rz_fuh>LkbojOUjLSoN-XsD!n#Z z`uFI*tNqnm1kRh+zcuYhhnULb3Q5fnra`4+zJlw%z9uVGt>GQT3LoB7=!FBv-QZ_6 zD39uO%p6yg--lJ~D3}Jrb09PCJ(caYd24KyD%UA;nXC!USS+waEbhVu{WS!ET>eUt zEC?CVR3Rg2hsiHrv2j_Hd@nj?slNSa`!0N21+%4^D&n2m*}}ZUV&`JrB5Y-QEH=cr z*$tQ?0{u6q=YrC#XKdBCZ~VGXIED$Hw+I>@eC&iD|RVDk+(mt=`8q#i#`Cd6NMUEK?v9UlcKou9V9_{`H`R9(Lw0Y z$eNZ9C}!v*k_FKf6#kgwK);0Puq0!kn9E1bpmpq_Edy2WVTUJt@0xy(Vuq&(#{0_? zSjpYK^c)ab8c3s7cjmwh(In9#ZjUrjsG+Wx?@?@UDJYyY+{4ZW8iQ%`T$ai1D4|*c zw)d{_;i_Z4!#HVK(T|Z$vFg}#Sn#PY%SsBX-f-APd7l*qWU7Ki07^%|@j2cQBia)! zPs+m5g&d2($juQ%ni97VpFiU7!(Q)ahkQaPb;i-X@D*~G*R|2BdlUS>0_`S}O5mW0 z9$L~Qx@~+Q2xP|Wq~%V8F6@|1i-k~PnlJAb9hKHtqBvv$z4b|0lEE^f6m(jryw(w% z!&$DvFid$L?YTcV7BFNQ7Ov~9ge*|g+3k#6zg2gUDERtKTk6Z*VF8p;LlUz=7fZoH z@gX5o3j$S;Mq?&-Z02-tTJs(Q;9QH_6#CFjZs#+Jn)eSw)x0B6pADSw>+1Kr|MDS` z#zQZp%+uya*}-ZcCtoW~5qL@`x`s6lXgL0DCmoGTP|m*^T6o|<)ZOj2W|P$zRMopI zYK!>t^e8tqMX3Eg^4q-ZhRw2cS+V?9-*?0)B3*&*srVImK-8r*7WtIFt#gZ8l{aVG zn6bG9Cs=lOT*2Y^Zw7zp3wNI!AD&_U5}|A=u24YQK?OZXchXObW*#f0IO&CFZk(a> zC^+pFh#IwaqMNV3d#IF3qF{3?zQBR%=DP}}i_M8@h$(WBA|ZTWI+{I%&cuq~hD zCcf%ux{D`Kz~D-0LSmM6kUmw-XM@CU3@cepi4I{6Ps$NaxWFW7vdLHOg7%ukpAa;D zGSA-D&m)k&72019)&$D+kkS{FSX0YJINxg`YcYRb*eh-2ye1Q7HdNDUgsgdD zzYyYkaE@|7I2GGuo565d5_7QWZf+pm$YOdxI_F42j=o*iZL<^|hZSKUbJ3|-Ll*|7 zrXXCo_jj&x7h%`LRxi{UwKJ~Fp%!^(l)S&AtfuBnU(fQ*q{nJb;#BTT9v-?EyQ;_q zXHvb;(p;;@b(uN2))z&3vg-3~6|5=0fD~Ov9~e^YX=J$id5ZHd+bh|5@9qHn3l}D~F|i6B);Ha=uP_#Rf3%5UR5SnTxf}H!)>%@Y3=6 z^Z@MEUwr&D<%dT0YDQ6v^MMP?Hq?FDI!^j87i&99Ey}Kq{$#@C0Vq>26`Za+0=)2e|`@=C{R+2K24H zwu?I=M!8g7*`7l#=%CgkH8(uV0GoVCrPlKf0RBw(JUZJ6YoaeWAdIFaebx5^?{=#H zm#i9`m5HFqst_ulneX#f1l%vjL9!(>-pJv;fLI2Zzr5i*@;mvoG_5e%^u8OiR;gjC zRIb6dvQF`up;DXzE{_!T!JL(I9Opoc!q7e1D%7G+2`(9dbi)Utp$1cuQSFVjJhOC1yyV_`?zI zhT`#hD#CZqU$=%&LY4|&o@$jyP3D_Mt{;$#5PBm}Cml@C z8xq4ec6`oEHR1rXsB`ETxd{Zmepf3c-+`tIO&(0i7QZSy-!;oYi}~6>AiVuyl1L?b zjtL5H5`Ctcd=gaBQeS0J(phsVBu42VZmtBj}Fj zh=d#IH_>6v+*d5wA#4*&KNoeT`lxR`r>Q|}-U5e==Z_oGWbg`XE_068uRvob-xH*t zipGAJ3>}|k6XL)`Wd4PEH943mlS)b8i>2vNlzb0F{@Qa^O&9kWu(DCs$jxZQ{*Ei5sf!`q7PdnAg} z@Luvp>E7$Gfk0N9%pZ`l{C0)+Vb8a#tuN75!>c;$LOfd(-xexf0E$jh6!*x@D3o>R zimj?*JS;wDs(($x{`fzH@)YN@=69;{|UdO+R zj<)+UTM!mD?=rOKL3Dn+skRS>Ie&0lNO=~Bs}?Gv0EN22%<(<1~nS z>*FWdw55WG2^6B=a}iZEPhSgQuRoSZm9y-#(xq?m!N>)Xu=+q8JI)?x=vqmH`z$X< zn{3k!{@8x_mW1?ZBfl&Zv%@MbvObg{$m1 zf2-(vof7bS0dwd8fI;#ggCZQs_o+;3;j@0Bp&?0_FVhJ9KR-H$uc)5?|bP9 z)5;TSnK>TwHmQCEcgx_5j*Jh7*GF6oTa-mG_N8JAdR1VVSLvyt*s zZnMAqftV%}j`2!XW7`)=WVkfh{Ym96!BM|(Rgn6Wn)I1P06skj2=QI;ZiDYhYM+T` zD1j@rGMz`^4#`;&%;K$hHMV4MZ|cP0cS(uOgZg#1)0tpcma8T+_-`6Bi#0Z^BKnYr zK5#tH+?ULEpl@&$u6R8|e)x61wWXo$$<+}TBaWgXLNqyXMfnU&qY>sx4d9lT&oZkU zQUOA=Au(mO9l<{O)G3Ql@$y76A2py<^)sXI+vq(yWi*37ToB@st148s*%kn5;k`$# z+z!K6IlfT}m}qjA@bl>X0li@WUFr&8U=iv!Nq~kj)Eam1*O~nk*$xzev_%6!0n7PduQ;gLXG9mL? zCo&(zXyAT98C~p`o&57#)F`u>Az>zX9w$&#AKrzP$C%Z$iV!Yhb%DbNl2oI*KTmtr z^l!fw#Hvtu6*V})GCv^l-h_PT3MBGR4l467(%;=9A8ds?`ihy`xiwtvOvs1?G#x(> zdSiU#M?bt(dc8=mNuH{@d^argb?P(^7-$yyHBMhvs9?gxG=3o&%&~CRbx5Lh93)}X zwHYPR(eV!t8;h)&WRJ=~81*nI^tvy+1NaPO(`R>G4&K7i`o)I4-WBEG_T58=B6Bkp ztniA>XCxc&rimp|sOuh0vH8wEJwuxhuah!>g|HiW%^XGR`TXcVM67bF-AG=@?Tga_ z*4phK5}jODe1&PQu914{pX)?SHSqMi%F|HM&1A&J)`l zGpBK#Ph-->18eT8I~mvAlg{9#PGMb2CHI!3tqd?dg{+$86%&$Tc5~sXhW17lbxkR& z$K@sBw=Z3%t^_Y1O;b?ZNUICxC8o~(6t=Ti7Hm#euyIlTh9`CfS|n60o|95Ik&4~D zXS|!``=v`qGI)Urj4G{qajH9ZXe+nJ@unp1vHcmBr76`xs-Tq{iitkMxN0zKXYXMD zCJ+@AksjT@BC>6Y?*bl>bW^&lx~=(~6vdZ>GL&)4?WiYmY{Y4Q+(BSv;YI2SE?!q2 zs%i;VNwqTpz?8<7@)D+DRCSzVd!6DluYd}0Qm!^<+n3V`jI7Z)5!XPNR#in)$?pV3 z%elAKYMFwCMV0G+MzF~{K4+P2_y;0w@PXLxujMuAcs&p)Uui0_O=~>Cx{fh?hq$`Q zvj>mFx28x1G!af3!ZAWs>cV&OQ5ZNaMeY=-mGo|RWSn0u*)YtGKQDH0ndtF{OF}G~ ze2jn(6D&uD_657%0sWxvOmIYo?&=+}#q=L}yDK|cN+Gl3(>tukFMb!_=CU=jnfa^a z^F4}S+AlnkaP!HKy?5fq?l;yI+vfp3)duZ^z5HMWosIlU{hQN=xI|rG_O0!(rCmm@ z#8!+oUS7jL&^;Uu8bcR?3tt?G3W4fiiY*_>)?>`%ekDWlT~%Y&DvBhIj#aVAtj;B;0Pfzi@OMc# zgZV47oGX}j;cTVqredWB*-fJHG%4qCqT;5}4hFdnU_Ps_;2nI|YpfKksp910nq!P_a3~j(!!%8yXO9qQR=G2bq(K=g z6FMTJngPZ5U70E(b=vml|Ad)*dSD3BLcN=55w^{aBDcPa;u!0?h2JoDOibVoZx$Do z_!)&gyFN?>k^TyEfu3P%6L_2c4m`ysN~Bv#+WP-!I`4R@8~6X8<5(G4+1ZgoHiVDXF-S_o=o!9kz zy{;fQ@@@Fg3Wv?S&ffd+icxPg!HVx{LRzcwse-{^Ds8ZK8G(9&Qxp2D|D50zB*Ym$ zyqKAZQ$*?C0i)#v^2y|s1eJ!F3R0-8_W6#fez5C(@oaB zg;I?BmcO=b7S`FiZhr%+f=F@PKvIb(zgws(T1pFh_pJyHbAhK8u7`9N2s4iO3Qj-i z(z`{TBpWwxmB*7~91fC3gDaAvt__R_?T&;dQJ;!-qGNd31J9rzLVpP4>l6A3lrA3-#RS{SH7?Y>@P0 zDXaIf0d=YjYm`@Os&^c2uWPzQva5Aw6>pxRcx+S__FK)Lp1v}fb70+)%bghZ=Ym!N zG5k-a*qi;+No`?EuxVJwoL`kVJ?u;4TxfE@G33inTUvp+)F9$8*~6JgETum`MK)d# z6`Hfg;9|=UPn8kgyVFdIFVGu%xR=x5X$FeoQHeq*v^r8#fe3k7c~e z{n~RPYo6_cElNmd*YXKN0JVo={L&OkteW?MSKV~O*fc%Ezo_2}B7XJ8_F7py3E}rK zUx@&Th4BEcplU_N2#8jhl85x$3@or+nQyGQX{73Vdomr?2e-ngtsc-+o#<{Ppi17B7T17FU-I2j-YIF+qGsPbwTu7l_MMit+B%@#c%3 z;RKL~(;y#506Q=Q6@n)wz5IXhZMk-@-AL#1GXX<3 za5+DbGe^?3FFX_cXlXr01B}#(WNLhWb(aP8g=piyrnQxTC+K~04^Flp7o1$%e2m*R z;hU^(u76U-bLsHsT+^4Kl4kN{lNmGrEav8q&@Z6={clFteT@6ob<1bgTgAPMzH1Xx z9UR9xRsD%qtO}!9-`%;n3#Fesld)IZw==U*bat+zh+kg z(S7O?k|Zf=S+BWz+w#$m#5s(^JxgTURT^0Le2L%4P!*~K37*+ub_1fQ@kB@soHe}| z;-Bf7ls;nd%pFmaH+P|MWs4gTyEK2-ue$6@aY65=aJ~4yC-=OEj;6^P{YJMsrmG6Q zA8?|)x<6HY{4Kt4)kWt`=DT)AoI5qf2C}Co&pB<>@nIRD+@)cL8d~AgnxQvfM@_73 z3!yItO2o{#$hez3J}4!`;M}WKt|SaY0o5Bys)udP{Pf|Td?l8q!7F_O=fDGqcSo1* zUxEApVRW^Q`XV#>p!m?8bBin?r3yn1eJH{b-p^2vHbq(jv#j{y5Han4GslX;&5u70 zNfx;JFJ?9gBls6x&GqMDzWn4L;Lr)WAVq-#xPy~1X%bF5GUqIss89X`yaD}Ti|_%! zu?|3E=}V?gonl#-ZgS^%=tQ$mp(o>vVNGgF1jr1oInFjegFHRjd|i?u;t*52d5ZNB zAx;5*^%=@{0^M;Yv>7G;(E21<%>5C#bN(?QdserPwIZL0!Yaa(XIWJr1#NoA(5oSS z;{NUW2?cVUurg%-pUqLd*I{I|fXP&N$$uK>Hcjs6>%+-5U@;^^X6E)E>Z+_>labRt zy}=sUpIiXyM*OyrU#WilZw@EHaWyb`lWClMj}`(lijaBy__bG3zVf7?9KpS3^e8ta zrJ96&Xf_>awr08QPc585NqHAvy*yAdYx5JN_RW$ovdJT>CyfG=eG5WGn;3mH7G=Mu z(HxKLKn>juxa1Zv>T4X5#)oH=kvwV{>l+KI!e@Rj=($BPdSq+k#>SOYIAn7{0;69X zT%CC9iN!66wiU~BZ};S^*Jb6WYQBbw(vjN!oOnwVtFINhL&AD}w(KdmSUTj})IDNc zN+s$)5I$-WpljDm`=Hm-cCalZ*pIV2lIoW)3OwK|PHI=8E0ZH`ArA>Fs0`2(3F503 zG>fF8{oTOmQ`i>qyR2chpYxwtXnenw-pzL3&U}r0xv=$SUO2-TVhyW}a54I*k9&Xx zk^6NTb?eixG*iyZv=@UkT5L#!EA*poPUt_Paj?2VGen1kdN5X6S;8pHZS~93--rZb zn#@y0<>ZyMGcQHp&4^zSuR&h{y7cR@`w%u(Z+rP>4fe6lxC(0de-Ley;m2hyF@F6NI#ufcZ2%NzHwfBoKcpjG(^{#d z>r7+DV3&4q|I%JqLgXh)c{8dqUKw5e8Fu&<5(X_?v7)*j0&hoXfdLbKYx5_@5No*B zNYOr;qy!F1+wz9%N3o3)%1%I+_2jk7Yy@m zH8_es^yX)FnS4Ah(g1yUn*IqU{x=3=nNZwGNOHi|tB?n}oxqn!PxQVJ^2nj}0jBh? zYt;XtzSPlv1Z67awixAf23B7fE_u5|hew2^;UDBTdn4YD?+0YmLANPu|Mvt7>Cfb% zkyTS?mzRSKCT@r<_)q5Hk`ay$U+Kf#9{gmS18>_RzH(ZySAkJy88p+(x2F=CNuH`@*M8 z_DAo{t1-_RA1SW8w5ujR82G@=s8CaOM?ac@;4DQ6jN-wdlZIw(MBJdYa)ZXS~fg2+>P`<#K3xhJ^y!JxIPRikSMWE zC9WC)Iu`t0P9;uu&WIDSEq=wXsfK&%1SNazp7ATRlX2h$b-0y;5?>g2MhJaB^a(|f zpC21JZhE*z1=Bcxiqk!gnew}{&LRiZW0ZBc zK)py4ol<4#w8QERDb}=BvvcY*-PI4vVqw~jS4n3a;uU*kaY zlq|`^P`2BTHaP5O_mfro4^@`AZ;OY&B|c;vLlu>U8Y}T!88VjfdLw%oB_uUl0?i-a z+vaCK)4KWI);-(7z?p_07D-8~BVnBkrn&Hx7~KU?l_POF0A#mGsed2RbziJK(mk(A zO+Aj=t5C-6b1CC`Q{MfD!pawb-pv|o5KQ|`z~t`9;ahtKd{b`|1CnYQw>Th%pj-eS zl^Q#S@tSYy%wXr*B+3fTN22Ar|N3 z5yw>$pFX&9YS=rDOJ~-01*UBj-#aajr-Z748G5~B>B~lo7x$iFF8GgA+4~A84~cUQ z`wyTM3@z=3+mhvqO#;#eqv&bA-)flsA@Iu=GX|vV?*{kFyixlW!U058l#T;b?azN4 zx6iFZcZ#=uF0*RUsYyAYWkIL%QCI$!qR^P3sz^qsQ-#MG5}A_N=)V%l(r!;vNXCB% zPCj7>2ym>Zp6$g%%>rM3<=fk2FQii*GF=kxn4L!jM}D%FYhdI-s0o5uqLm0B7#A#C z#f_6s8WO2sU_UpQuI!dZ!>FYa+z84>wsok6R`(50W?G0kNE)=j8u+TSaWc&3Vt6we zUfQ%-T!%Vhd} zhs$~Q=PYlJ`=LjMLj)<7|0%BOF|%E*TMBJl#DQ}xmSgauKADTFQnZbIteWImnoz=# zlCgDRBPkGds%_jAH!zw@Bc;y8>XB$)m3^876&AtY<%z{@a!U~Q605eZTDBX&-^}62 z^IktyLVijA(r4;$>4%2pM6O$Ly(5AQu! zGd z4?Eu`GOMTFnN_lOnXv&mOR9;DIG1hV<4;h4o9d$_-mGq4RDw%QjhP9!ee;Z(lSrTevihH?$|Sj_CMXP@KOAZO)7;)~q_0v- zk6cx!Y^zLysIYFW)d|1929f+M6}mzawudLrLTUdS66!*s$LUaH5ogIZmI#bQPS_c- zvp?}OF&DsU{_9}1sRx#Km9$;${9HP;R7j3?Qrr-PcfwD&n-Cqj)PACjaL%dC<=N0( z1+ShOoh6HeFn-Y82m1S=Y#$cd80qy}*(Yk5j3cyAw6$gY;6h8V|Mb@+1b9NVg!_hf zq^0N3{WbZfPv);eH)gQC}$(jwUA&%Ka@yG(?xn5!JTpJDEkrQ8_rgcw9Y|D z4Jmt}1nKQInk^YAo3w+ElM`CMrl9s53~*#KF+MR5`cBL= z^$W3rMNP0u-Tyi*?gxi*P zJ96#}-Nu+Et*}p7^l#N?Di@59nU+jAYGjL<%-ZJo@yqVkoxT0MfkAhZAct$}961W9 zCZ?DnQ&i94Vf@<+ zl)^BI!93;)H3LIM^u|1Vodel~1NM5Xk95v#%ug>SZcwF+&Ul#k{zn1S#OqGZjoq zC7ck+6NRs#b4L*Q%5M`nND|t&`vy6`%xb(xlDmYVZ+T2N`dy4Hw4H{sPhtH3Ls8#D zXH>v=y`W34U3SWD>Eq`<5$A7UZw&XUSM}UUD?Saw7Ek1VB5ya*&&4(P=A&R;HNLp2 zqMPAVHp^KU(_Y>psO`+<>Q0hw>W?3%g5Eha>&7Z%pKio5BcBT6m7c3UBaSDMXSgvd zC(kJA0kYJBtsH3ML#8ZTh`vyY~#QP?OqL3ku*cbQ3$H9DQ+>%%ijo8Ly8`>mN27?}klgexPBx7skqu|=4 zz+b4##!92l?}(oX+Hz{{K8@BrP`USGn=0D^7srziam{6hrIt_c&_R#w0M;P#977h} z8z5Ypl=3Wu=41@P0uelRq+vt3`R=KOs(cog^-sIGuV7>#_uh{}9^jU%H$Ls2{b8Y+ zDL0d1bAs}GcK zVj&oZ2C$=x&>u8jzQ#2a8;y@^vno3k^Bm;zS>O7V_0vV(9|g_>;32uBLZ!<14}ijl z(dMuwMCYGw0*y{+xHzICt-i7y}$$=;%K!#^*Q6Sw{R=%GE9N03CP+ znrO&I62%S)mpxMyWT;H6&;(Ga;mjJq{EtTL9=k1;GGzZ+Cq z>P|bcX{A9M6r9vB6L-c`^>?{6l2>NW21n$~U$f%JO8v5DPcn@3v8e$mOzkXP1bfAq z{}bwHcV&j4XSB{Lz5Mh@%nkvDB_8&M(_M&rmyrP4HSVIJ>hI)lGt!Pq?A<`@WK1}mPzIvS6wgkCIW1?mhJU7nx21%1L~i?r z&5z@ujh4Wtyt4hhe(&{rtk{Qj?7IV6`1Mg82K)K@UaAQE|Jg(4pi0GeLq{uXxSx}o zZ+z$SThbdH>-`u<>o(NWBf1XUz;NAkPbi5nkhR9}c)I(yD$S~-HAW!@gmLAg`-3EU zQ=jV;iu;&1>jKgLp~7-2b^{9d!c*!t<+9dgcM~~S-VinZA%g3?I!k%yH(T^?RmS44 zZO^z$f-vlxls2B$@^p7e^7O$ujaI^!SWyiZD-+&O^|UbRp(JXDO*Wyz_9R@UtgCS;m>dKb@f#xbHCSoK z9=ct)ZBQGK=GaD1Hkgi1KxS^BX$6Y0B%HyJ$hh=zECWUB$Zv10EGCU4h}C$5b_~xb znsuSyeZc0>IczeW=MyS;LB(oE3pUx-VVjT%P z559=2N!Tl(?$}?50mTtov}Q;|d~Tl2(=>)_pQbkm`fcHKj(t;nT~uYv^7G;C8-yMD zHyUah><{{O#)BN(CbA4wbMG)g@Zu;_Ezgjdr%L<%__-1Wj!68M#!nYS$;F?)|6!ot z$dRq4-FVI>+p31xie4T+dOsQu71#5>;xqOYZHOXX!K#JyG+<5BKAEQ(+mG_(`xyV> zA$S|xWb*t!RnidOm$|=yse9QA`VXFOq51X|?|Ji^%G=BbfH|@L>$whm4?_EO*r*(j z?d(SbVqoxnjH^H*7^~67COmGmYS>2_&D6!m5*nlE2>G`IWN%m(y@^8&^FJjy zl>AUy5Bv?iv!abbKHrv48PBNAfyP1d>fq;>;QYa#k(Es_9a<}Y{IvC-R=W!=-^aCG z*Lm`h{2Wf=wVX#Lwir&1uyZVBCl2zEb>a2GfX zBi2vr&{9hu_)1m2qy{P~lV}9wvm-XQ*=qN`D<5Atc-d1A9SZc-!SNjbp?*C)B+PrP z2VRR2vu@=+KtVN*NH4%ETpdJ;rq~*LHsnqcLjuQi&WW*x~h~c3{{?Kd&ZfZu3>rz>54z zx?Tjj&Y!M5gWbP3QkAZ~`T(6>NW50nn0Bt{t7Q3yD7rUlB)n~oqC}^5v#?hli5Eh1LrwYOC|uHqx72H1xTE_cw=tG5VNsB zsr#Fa>qBeL*lZK$kk54}zKwKjpv>z*b@>{rX>>7GM^ed8y`x<&Z0aisuh8C3=1ezf z;)033Dqa|rvu0#t%Za|kC$#3H>8ZyeC+3UFo$%>2_hNT(m(oADw+y zOE$JKL)Q&HiP1hI4FM5Zv7$M@gTTL zC^Sy;Mj)g^9Pi83Vg-qDy>9#$VAlwD!60s8`du6s-`;cWOucO*zbn4Kc2w;YyY|0N zXs#%`xR7*_y4HS*=XZuiBSB_Qc-jAf7918u!$ze&DLJ{N)?0($;C-iBJ_+Kt+?qYG z!q74HyR)bO7j-*5$LvLU?~~yuEK;YSRvZ7fd9}hPKtz&e7HPjAGGEaD&>&NUoqaYS^LbEJ> zaeQ8qycc{F${yRv>Yv~EL4&gyuU+=`{>W2i7pzOd_D+OE0PTWzej+lS zENpK)eqHzC+MEKa1QF2~eWj#$mrnOgoZ-a~>_z%~@8Q@t9+zuv9o4WW@=t3Cp?<|i z+w;?`biWB6juBJeX;f~+cpz&^J)1q_>@98!-H~tAbWEa9HN$4FyNX z^@1957LAMin!tYu%YjX1g?O*lBKnOnK|ewK3Om|7|LG6L?L)?*hTow=&DiS+eO)sj zFCLVjI|{Fz_Fw^XAWOsQ{U}Y#s7WK3^tAKAL&t5}?b-_!` zj%SclJR)hfJ=*6&U;cwl&7h=x{EppV8bikIJECgmg1?LUUcE`ffZNNA%>;(IWeb_x zb~|!_LtjGXb;15oub3+HA!p=%V+U8<@xTrWZNrQn-5{3-fsxM}pHKo!$Kfrov?(h2 z>YbiWi{)=%bdMK@%l+oCnkRd2o~jz+nq>RWB3)76OASXgd!DIebHyeGz3Cpm*xv^V z!t1u0eQbo)f*H!j>9%cuQL9x;N{yq&3LUfAsL}sW1{x*@x7fx^0+P(yLW=t~ZS`k+ z{F(;x*9fj9_NF)rh2c_i*fM?#746QMwN1ytK^CkhPKdiZz}zkrqAak?^sv$d7hA*g z0hMFfPzBW%`RHn z`3Bpb!F8^)ZO>k)WGXw@3PNFo|90|R-(6$MXr#esJ#L_Z#<>L4ToZ-8xAp%9Jzvop zS(+1Fv=_UhiVE$w3s}F0aAYU^BqUW3zfgMMyGX68zrO=uM#6Xn++$t6oMRMafPP(C3Y+gQ z)rX9SImm#P|LXM}bBXmy#Z}58e<|qb6LY5fv(L7t*GBcFgsCG|Ve+{}GVvq&@yCQp zMVk>hud_1-w&v$Rc~9FTSO`fIDVSwKRO_l*27yk8`WE`4yvZMO*ViO7qILI61D_6g%%Vgi(^C#o0rAk&=9}N*L2*A^FX6jw zetp5AeEeHa{VkV^R!ZmqzfMrxu&u0CQ~ukJkrDtu`oLkt9bu$Uv>UjkdmWO^k>-*+ zxC7qfvfr?k?yfebp|vzw1iVJ~B9edRB!cE0T8*5*omDPdRHg_!Bc#1qr{=Myv{o)i z+KoowYSuvuLnRa>3z`0ZeVT>*5!Up@PwF~~LUh~b^n+R4y0b}qM`&c5xr(Nu4IWd*ueeH{~`fc{K5%3_0rZzt-*3hJ= z-DWRfEPh3@jQ?DjIJhH@m0<$ndlT(R)F+wC_AHd)5_f`5S3eIBfxs(v0=2=7zWx;C za`;m2a>pX95xL=js`$u=UueYC1ly|>Lcj8Nv3tlkMs2f8fYDy4A%wy>%$Ca=RhHMq zp5RaIW+mKnsczN~e5xmV9rL^7u>aPhLc>5*?zi37()z88MSm16U6IOj?Vo9l)`9v9 zU{asdm~ABg_q~>C@`=aZiwVAy2RvkF*R4Fo$38)@k#*Rll#1r=x*0XqJwTLE@(uX1 zFA~@Oz~7}FYv8w)qzV64BfSC2w#T?i`V*@SaqQoK1Chx6kiv=P8D71vTGE7jxGxZm zBT&g!;Y*gk$SUw1WnPA#OzRuf@vj&e{78SnbQHXZv)0U5Af&1N+em2zAyijbSv;r4hheCd!d7<*mgh_K}^ zs&f>IrPAGqmj9BJH=2L)7U$C`!F@m0?|UqH{alhi_GJ{{aZr-s5MT3QTK)~GhO1)w z?6D()j&);;b!=daX=giXm&aA2p6)%9!GYM{*~AEbmLLV>Xv{EG_Hc6bjlq3LR5ws| zmn^JoFNn)|PN57uo|-Xb&1!~>?QmAs>jvbTO&fXA4Xz`RLa{>9rzn3B8wO^%0$)_( z>|AlhoXG4prg*KXAIGBXV5J%4FQ^SJw>M%A@@LOBNi<5PtDa-gYCfkHx;ZWc;aX+7N0lwk&SF>}u(lbR%%zCVO$+sU}>1 zk0(}?yx2HS8+X;YQ0AQ~*7a_ax)TfE-K@*O;rGeDHXB!*CcHAI+ht^gluKSyWj8ae z4hpUq-h@YujxU+2iZ?X>;CJ-4ya-T90W$=`*^!nYM_;OTXa}OX zBkrzbBohIN7MWH7qNWy!w*KdAv_u`Nr&?{;u}QIzV9xcgIwzdmKEYG>AlL<+R_9dS zcS;@Qu z2@*hfb>YTS^6K#KblHIB^K!s=Q77f1HCSfH$xCMJ}TX7}q^>tJ1 zu54DcQT3P5ic`S}9`%f4zncUQ$#WraiOdKR*+wtwQ{KY0vquHDV>DkQVeC*6H~u42 zmW73J<)+sZ+%Cyy;A&DzZ?t<+&y=O){jq!T{$F5~{24iEKO7w2^azSDDl68CI_M_5 zPp>qe{uUyTv}D(!0H}8n_#ts@VD4yK*xQ?ot<8cFm@)A=M+rnD7euy;{F*!A;v<|- zxPEfr5Dem|sr1|gu;DfR-}(N`sC`Y2T==&Ah%aA`aYalLtb>+J2LmK+kh6~Evvn1% zD*l<0#r3Ow6JOL*Z^3wNqVTPEvKou;*}!>uYYQJcEEs-;9LUjxGEcxBlKfXol0eg? zFY6^698k{@_WHxkZ!v-+Jo!GRN&T*2v+ux67aq_Ix&W*oy2yUEw9T@NJRE&2)~}=* zis3wzbO6pNJv03 zCP@CrPcM^9y6 zI=9zy!tY>}DGkq;|B3m_c`5%J+5|Ng`U_GjwSy7KQd45MvPRI z^r*rsqMnm^-TW5;p~ghIsyULSrpM4Y?3b0YPWlSH8>TD%JukSAXTu1Zl}v%oUoU$`TR_U$ z|4{ikMjtum8uOt4`s5TLrn+y365aEbgrovjX;Jaf9^Poo&nhNr`W5_#y1n9>GysjAoJqXm?frwWi0tw;rA%N5 zOmmVFi49j)X`)+#Z1@0C)`&&!98{~dHRUic^8i#5tjB`UW*8Hz`Jf5C72_8DY+#)G zOFp}lvY5nxemu8|&YD*O*(Jjq%_lEyn zXzye}zkjK3=Pce@BpJj!2xbZI8D%pj|Iuh*RuqiL5UT`+@&yshV0|XHsIXq3WQ-Nr zK!cVb5i!uADp(S@?Q3)jt=?=!GlVT4^~Z(RU8|eu!vai=`#e~H@P;Pi1b7bIcrRot ze9lr)I62(7OkiXq7(5oNuw)QqDI;N>+2c;eywl;B*NlG9B6*_*HB{INXyDJDtA)mK zbORePa6#k$%yo-1O2wqL!z`u3>((X*GkaL)|4`o=CEL_WdCouhwjWRqN5x0www9W) zisV^zDQXB^5+PSrcxTA!p-Youwo(4uGHQQ{%Ja?Fb|vl%6J!;O9#*u`0g#usBw*nJ zmn@u2d8KidG*dycTbdWQz5^qZNK6sECb)XOY0Ha1QRp24y0s@DqShJ0rd} z_%daDr^wDJyY@{C4~GUZrDq#F=qv>MgRS=^tHS-S=}9*5;-LEQwmD7tH%oiu0YU59 zN0Tw31TU^NC%W5E^!CaUon_=N^uaaHz?~>tW1FmKuD>vn_*$hosER_CsXiq8{hzw?_asp?~QW;r>bI!G8$@*d$+U5hP};*`gEN!5jrLKP?M zX^kg7{zAPl-(`xPmrrwj31QPhJGDb#ToU}BCM_?2gY_$0GhuUoH7e^~f7lLzteZ}e=a;t4>gj_-Rrx)Y4^m>s1jnTn{zKO4Q`IXi?(-oHM zpZxM38cBTTyV5s7H4WD(-Qc29)6Ur$GfR;VyGOm$Fo8XVQs!fi$(5sK)~E1_19qv9 zwG*{9u~gAVKK+Wz=qv{oW8z~LzkZoxKZYO??mcic``)8xgT>1@B6cAC;;a&MM?PFH zy!djt_BNSZcGCP-2cV1|bWy0PxiUJY+!~i>lZm#kq>E1fO_0i6uDR~4;c8ONL-4yk z%gI3nTAu&Js?NkKZWF6A^Kc*YfU!g|>|Gs~h1P~=foy7Gga?QhQZ_5LriT?OJuGgT z$CC?hH14R@K#hs4zYzoS{J7#{et;$xUK5HDbYpZTKOW&5i(0rzw`FfgLgJ>iE7Qyl zVocY~tWvub>`HlHH^Av`RBza1giCv%D*UEGJcac_fso<8JX~#ws+M^mcKRbUGEOvAq5l}eZ-6%-4lbv zI=(X?U26-bdCDnxY>bu|wW8d7$>kd}kNz}i;1(z=@u$u;_D|xObpJy|qRov~A<=kv zqX?H$VAM*kctG)n^s$-*xpaQVmRZ|BUiL#oAW=G4zxk$~JD}^m*(-X8?U}GRO!_AF zVMFV)hJ!swL&MLu184;teCG1?fT}x`4ebMM2!y zNpIE$*OpPrGvrHAmkdM-rT79JUA~7U32v{88<#$Y1*S-I58c4}y*xK5+q*TT^fVdd z&Ly_jbJk4flci(}yi>9ax@6y%`X@E9j@>;0fyR~K71~H<^AkBv;=>YtGxJ1tof^Fx;Kh?WbS?wcsWbync{%~ z^^l0P&NMB6Df-pn48|2qZ1uL7$_BKvR-mIV0(GA=YdQUFS}UJ^U?26A39(jSaKG}7 z1HXuNS?k}B{CM971dF`TfSUR&ko54R0QOtPbN)~4Jo!k>Et;3&xH$Q3u?LBMx~bMb zm@Z#(kDLGYAIjVkF*8O!TM>T!J>EeJwH!RDPww2~KV5uYx-$tz;Bw=sUWrJxVKb?P z$!fyqXmeRp+E0S-J!eH#dm~sI-*6r?h7pokMx3W$=Q!3`l5ct&EA^r5kmF$2XLPn! z^Cej86>LgX%R20#@~`vboMfvRmw7CbGI8vuf9J97c#IG zdY>dnbmj#-i8Fq>m&aAkI}N7DwUZL(kFejqlzci7eH?cT7B!AR{V|_mV3aLMtNK%x zm&d@tY5MDPPle-)7pQmhKd2F zp=fCw=@Pxys<`~K4JBc}*SF!2r7QXbwr6vPPVECYeN_X!ots;mfC$s((TS5#_P7WB zQtR8+B3^Twwy1^|4>nXJ^XW98Sk22jA~xS#6#pDkYn@PIPQL_s`8w3B*|#N8_ukPA zQ0CF1_wFN+NmClw-C~))XPg&!^y3FwC+Fwm<^CM2cW64&=$`Hw)$eRKy7|(Zl=4p- zo-Wd1y#DSbi={xdq?o%Rh-Jp421HIG``nZR$*yHCX75P6wSp>y{?xSF9N3k_&s>ED z4$j?1v37vBHT|5re*EQLN~IdL*Qg9e!;s3AGA{N6*kZ%0fp`hzczsa`YbPOa*TTM- znQ_R%a6T1f2(|d?jh<6w-QUk!rA8{;r|Kv}P!j}+!MmTzo_xIQtEX%0!$X!>Z`it> z=nTQ8dZRte>sn_j^mnjKB&*gfP;9SyHZGleU1x0xv$~2(_ra)NdzfXk{EDRvrv~Wh@q}aR<%7MsTnd0HJS`JAUIf2yWrijkd+Ppgc zzoz@c5l%dbUfZ9#D^`K4(ia;YJJ$m*K}wbfMviWDmFyoi4HZmBxWGk4i;{?Q)$rj7 zz$DsM;#dSrK*Ikb5_qNp(o0D6$Zs0E0Wkf|@Ux#B7R{di=%D`X+v}LNE+gNVRb!ANk(NWNLMm_zLea7#+1z8e*ZlT}o$xV}T4GVU;5*qC}4<=s>_y&E)ydgC? zl!T|f|1eddsm4UV+7xZ5S{t7J7C9E5R0USKiTU8F@*ToKcX(1|YwxvnSx8BeEj3Wi z_gt;SX?$pr4RpPU@F=tWckh|3%dDl6-u24g(iFu+2D>J@@43o4i`t*Xxw6&>4b44Q zg<5;L4Xt{9c}Vf*uZ4}8T-7H^J^&Vxfw>8aNVM`}^p7<-#KXO|lgn6Jo1OrX^1=eD zKEOv`@{U_^3!q+?9s?`}ij{n$Ey{ytS_u&3^h*xOUo*I8gZdyDKT@AX^BpApG{uf} zr|B7PTNT>B*ZFy4MGdS}q763)a4?B*$#`r*P#(z#&7*RgTO@8oE^C#_LB+@)59V4c z4X7A7kjCU&GbD$9B>{C#&>RfEFAoncrk}zNNf*(z;;q_k;Shxvdol+bf@iRYeb?dg zkdf)1)@K7BCr@8beT`lQ{KY%<5Q?nMI>P-T%cnH_+2ru@PjmU~smu2hJgc{)ykL&m zBp(D^s;uo+&7EYt9jnfD=bn&y=lS23LjR$(4*|Rwnpa5}O{hi**snY+g6bmN?WqqVy#94R(nLlCcUGOmKXK6 z$2_)K{!LFj>b9Qg`fsG8eFlg_Wj9Ukv!2SWtI$16Tn zHDubXjQn(^dQ{M?>B~~SywAX678Aq7<6QriE-$DeF2LM6* z_~rD~;)z2id%E#CXlH(?b@O6CnmU-?4-@a@xHIpnuVqxP{hmqEw!C%gEgoRXyBBS=Z-PHyeefLd z?djp2adJyYWppQ)INd>n|5-a4s*i0_VfQGcXsBv%W8m%?0#aULd*3L%c3*n3bC!d3 zAofK$WwaCH^&*IRmd}nqZVs$DSP=m@R_Hb7&E-}idV~q?5N8RuxNwEjqUdAyri|qqc*yZj|xf}){ z_p!7$m0s$ibw$@kMo?o((R!$F1nOs&J1?@8B1UbV_#-~w(dGY}(5wfqvVYn+{Nx2?(utdmLA-;oii>%KU6q!k;}NzU6DrU&xT#-s~4~bwJ=v};(V+!VgGGS^U+@2j{V>o z7T)$T!A_wkSG%h;~u4&pm=1PDl1XMlKl^o^fOnt^Z zlfd7SKSvZQIdWcVpoTHu)E&De??@C9;Tssrn^*laHIJZ$HX{je7z>#sm&95 zt?;X*&EO^}b=&twL}T9aaNaDc+Mm)z#n=I&{9U*sg0n$C{hu($OPCMqmUd2uy^a}` zoTu;_rWxSm{|Sq!+l_Vey|K?%Pal!N7ofWu@^;baX)al6$#+Mib=F>T4+qB>zJZTn0xPsx2Mb zv(-HBRj4=IidjNEDeRAJ?H%$>l_C;C##)q35-08k4*3RT9f|ml?J~4yNwjtF6t=6i zYM95izo7K$^1mXV!tM0W`(>&OY1yia@!7mV3Q7Dp^EK%EV;Z(DNDfGU(%RBbq&imW zs0kos9<=sS^j!6VM@>KR%6!i?&#BB|4~#0Xf45*1i(mghM`>HZqUw9&%c>xI;dM-Z z3*_S+&%l*C&dpf}22uQhyH6a*ITPkt+h+@cum`1d@I{LC?5&yM7TXEG<2m>njkG)?wig(T`%#)|RqWn0)DFT`Ez)aPIy{?!~Z>1n=wp&({md zp%-NgK~)ls9R0oS`DtzyOj9ixhk@(kM>Th7Y2~8(xd)|t(dOrp(?=`8OLt}j_S874 zC?Au!{ZPL&B!w07e%ivg|AYc&{5aJA`AgO@TytSyVx@`lONpe&TL_Li7=>jWQ!W^_ zqu`9$h{YBa!dOOn4d1uG+gOG7umD{&>kB)4DL5KiaTXjHbTr5O+!xkwAwuyfaI&6p z>ZQ$W_?J*6wvnWS#tMy_93fcCzNreC^?fd=5V=1kDb{Eyox_03BsLU!(CvqU`;tlR zrYG~!Pt+scY%0A*PCokw>ZIKtJ(+b9Lv_$-!qZJCgg3p_+%XN%Pm`FpE+J&ALY(qj zY_(vLnsPL~H~8>3NTarYAs?OesJ?g~>R&wCd^oADdXSs1m6LIo_Z(`<3x(ak`E%YU zOS_ekTy|GDO+{;py1R1kJ7%naHIzypBs?4t2$`#}rL4@3Xm#;7N=1sQA1b?A7*6;5 z$;$NkP2J)hGA^PJgJwbT?`+tKh!JnV( zDhOyWcAmkabTk{sh}D_7|G9GEn>vDbKdqtXYM`!IgfGjZ7^b*`x#Xf8`pdY8^Edc8 zUqjo_GBdI=ZVHW^ISAp&8JX5->2PQ5TFy5?zEhrXBMKvPcldFdo)vAll+Mf!CaEHWjF4y%WpDMniuidySx7Q>7%^dvFt z7HJ{mXVd5WgC^h~CF*N9a@Gi|7f@Q}v$%?zc^?z>`kvp+YeG#PKMz)aN?V;;my#Fr z|6)GaV$J%9>R~2J)Xl`i2(xV8zO7&uO$=sY)UnRK@zMG3h3J*32ZL z%L%Lu@g0X(9eray&ZCOE=AiH2SiytGtd0-diWe%J^S&KdTb@dmhW>3*9o(b*>gPj>FKKI=1$g;DMoc3tB8j=((C#`@g7n2IUi}@B5q8xhm)928u-6 z`3)QgIi|Z}j}qsspRBqY=-1Z=WEIf~j(Z`WHY?&!8g=m}7%G+bq`n`V71hwM-*Ec7 z-U_u-h?fcIx`yGE_TqgDUJ2|nXbjB<JNfI+9J0G9(s9)s5ZlLww&?>8-KhRY-MeRsln|DLEX&x z>7{#J{2J$&M^Cu}_&7hzY+d{h8m;U8X_XSoXPb{hrtvkT&XC~J%{oo~*22iY_d2-X ziil3<7juTz*fi6PcaL2ym7C+OuIFV8+Wo zHS)Otso<&8Z^OsyUQ3yy=h%vX62Wft|D);5&Sj03CEFrOSVZOQz$8Ji}Na*!XY53|>|JLUxsF~AW-YLwz{g^UO zp=woAZT_+F$4?78I=SVDG{L9luP27LI?61P%RAQ4Pt17bi0|A>71997WHs+BS#vd@ zsKcw9obVps)l1R}s8}YVQI;PBBm=Q{N5vWh7!KhJlAzMWq zif;M|rDG}_A?~OfznvTA&Mt$)V*eW7uzx{XQmC$>({zP;)?xz4>taFh_CP;coBW4R z#t@Astor53Qcopr_lZ_V*jej z*TcvL9d1x^{wMSFk3)1yD9mZAMEOkb?38anCO{MT>glI|%c3CQm8RA|z|Chgi`Rw;HNqz4WF+qlOz-H)h(_vpfZp}{*r<-@EBbGvDB-n=qK4!$?>n(TNL zio?2)Br-yI2kt&xCLuaYc7>ia@+5J}t1Xbk44umr zZt9hqXdrvCq661Kr*Q)GZ~B+^f$9>Qo0|4No}IJzK?G{Em0Nrz~2qV(#GG z^=m*t4*wT-jcm|jb4MLLS+F9to%&HJoN-CX zIhOIj}7k*d}K>qPp6%$L9?dSMwjwuLx!i`rBa2hQb(mb@j!)Y8 zj?0j*0EXCmaAhSSvR-&Lnb^xN#W<$Jf{_?GHx_pAO+}dHx~S|7^QK($O-@TC7Rd3( zi`5jZ#v!^JJ=+c7$NIsnZ2{`osc@#HlnD3tjaPjq`#x8^KdbMga;HMf#nrs|Wcih2 z4~8Onnd_WmZYN-TPtAL3i1e3)Lj`$StA6iUDOqhaf*=BWwOYmpKGnPzP%VVaK`rvu zQ-9s{zas4KIfTc3s(8IDJpYi;S}`o&I>3rfjGknC81%#po%q!j8mqW@+7;z8U%d_IoA9ksSaK+ zRxTHa&46||cc^~)RWb31k8xu6={suBo|~DbE#vAjT6#-~PxCV2PJny|6BuIJtd_UR z-x1_A>%!@(`!S9TzaRvfIQzlkoN>r~SKaV;UMWxCN4~g?5Wv*Tr`h+=hqsTxxOzYy zd}0t$B}rk2&>No5S!We;c|6hrth5S*acIUf`Q4P&lqw}Tgm%oYXU*6%{>**P*%$xM z$=V&uxc6235J1wRr+aPa% z!k_5tC}mtU_&ff{V#}x+Lq<8xo9l|^;|3*P23JLdx4EwcxhHO;mdcZR?C<#KMMc%K z40Yu+WoBc-zNnBV zZ&!bL=P!8lvp)qnFh`(7{?!qSI6m(GkI8jHfZ*p48hKI4TZjey<((r#M)xqoXj4zW zjbOUrxGR~X<{=H#`3FHI+KriWqdTu(qhc&;9@Mzla zI0#+b6Zzy%POibA%tZN^flZwg(&1AA!F?ThL??e~uw*jkDLe@aw++7@CG>)EDDvBu z;06@YuiIi8SshqA$e!6L#r#Gu0rJh$x<4Cm4lh7uBx7mmHK;RI{YlWNY?H+!$oHF#m_h zU+NzsNh<2}Z@EIa)zPXIRmTGko2&<_6^{@DLjjkUv%+jbA1YL=prk`}P3(F)NER;N z?vfk3-=rBnGWLjABIr){s8vm{RJTyU(=RY>$Aa@jq6=-N6{_J%oL z^RXWJ_Bsz+vJ~|887lK)R+02jL`W2%6PU>tukA|WwR2rbF(sSc*v~LSv%mVbbrw)g9)>4nV4wP=S`&_?*OTQwVAj5Ccx@mi7>aPlh*b!_ZkrS`wtCDxYM*lva*CfxqJTKzajBttMm8YN zRh@%6<<@;}ifh^O3%g($eej41ytfj2Y&r7MW_I`^`j3%Wwa$N+-d`N*=d*;Hg7ng6 zoN7avYK_NwGRMj2ZCtC@K{9zTDIfqVxlGB+^}nzsJ!QRt(g+-HhlG@`a%T=95i2v- zRSM;8s{(jWN4lD4N(4cne7))!SH7*SF?gv|rSolhg_9o{G6p)aUXxZ`I$DdXEnoeA<@MK_UAU|hDV&4r%W;ue_HQh|AjZiN~Yy?LP#Z( zB0ZMo`p;2N@VLHrzZc*g1U(J?RAu$P%!vQs$gR>+rP^P6CbV?qjIGSXVj3XIYbeo* zj)4L-Ss`QlEkLcBj%=nugd*lA>PiIVIM|-f!(B}tt=`R^VDjm9eu=PIOj}A)Q96Wa zAyxe!5&kS`>%RiwjUy>s_nx^DU*bSkN`knrZ?%1^ zCoA|7`TKJk8V6HSKKA92Qv|eHiXh)`KvlfkOB^a~th{5zMKI__XFYlFuP>7LQR06H zl?3k3DRoR6=7Pvq>n>gCTZrDQCPi--!HjbFa2Xb|r?if}H$WH!?;h*DGh%$K4W(xqycepAx7!c}2M)qb$pJJ`VUu6B!l;s>de8N76Npp=FeM)`Gj~ioSN!hPv$bGp5>A)qkPWHodne zm}I_*aaC$NjNpDF#eOb_ z5HE5F+)AiSN_&A#3U}()Yp~=;a|~>QKWP#oU^vIi!vixBfxqH$Pns&Zb>Q@W4T-}} z(IVjnL!nGK8#a~&LfF9vJnoz+wDMqxwS+0LDJ}AAz_E1NgMLNs;|)$n6s5GVuxkR3 z!~{HU+u6SA7X{3) zXMlOXWivZs3rQ&vnCTp=XtU7WJGvV7lxmtm(n^jWs5Ti{M^U? z5pDs@2_e4r#H;mE=m-_swY-B@7Q$Z5Xb|j8sXRr@vd&-Kud`obaUJ>_^Lvm(0)73% zo2(Mib2Bo_nKxV+`%4nk?m-3(Tj2Pm7~L`9w4kjyW3l4}0V7$p6-DfNo&6MJTO3XdFRpf#UP|hS-eP8cK$m$?{DP?&~cCO8SvoFEYZBtPO&4m3*eZ+V26^@ zb}O81&qj^2(bwoWOekp>+l*|#MH?G-b%f>TvrC;h1Jhe#3(p5Y63K$rrt6iVSL&q* zEtr}ucSu1*^a0JHd%`osOsEc$5mQSrbzA7j7!^KEFo8HyBB}wiWN(1%v9MSH@6_18 z)++}F;>5`I9TS<(ah+U6;1DRaYID4=F}{m;=xFDifai>$(&^fTAvaVy4?}?IpYpgK&p+vE_tPTql}$H zaBRJ!6j9}vmR^|6A#f)V$5bQza7FrMJy1;V_YaVZ1`5dMuP$@;zcUWjJ>q4;Lp^fs z@0SPZWz(m-`r~f7BDB)*`9Cpkb8kM4;02C;v`k0cVB@*u>0gv$19`u4NR~UU1rYg? zR$SpwDEg40y56j#cv-F5_BVpZ%@J?{B|YqQg@50(GCnil*98;j`maVj>`meHz(SxS z1AK0TOZ8)WSP%bVy9cN0LhW7YJWM0c6@Ix(`83f<_M)f^i^G54xpbG&wf`!}D3?vD zUUw)|OnV&EN!7|L;{nerH|MUs)Ax1&Riu|M2AQZ&1{nvLPoiTw=fA7P6t(;~Aiw`> z!QasE#d);n-cQxLDY&0@4Trj}!DLd`1SwsHu=i70!?5CVSKm@El4Fb6WafToPskjX zVJX(Jk9T6>-d%C1Vp|NmkH(3*(=ktV9v49|*E$TZ3dmZza~O3ounD_^vMr%Bu5ZQs zxq7j#o6HTXAvQK*V*P$#|5-r%AX$ROevls2#18_Fj=ei^bCkP}%cai0_ZyeUUd{8B+40WsfGMvx&5 z%AlS!vfZrU{zJKcPE2e&^^;P#oEz;yuNd8ODoyKTg_$cP!tgb68}j3o=rTIvDOgfL z5<4TWnF6bUcPJ5$j;d(@vI%hlkj~v?*PwXHtw4R4d=(*+f~>$oKB>Sbu5lbmyn}BmQXgK65;k@@5LQY9NEAZ`3k3 zo;zm3LH6B7Vp~llN|Kwzbc_Su?xkbp^*FH8m4{P=0egmwyiEU}x^C?Irx zrTLPd!fG7D+c8d~Ph&o#NdHqBC$Lr7;V}o7on{6Lq`8@E@G;7_lnxa3IDU+cA`3y< zcKQ026+N6D&iU_IO5WxxV?@jtXbidj`o5K<+|160;?v}e{3&Y{k3^U@))dja3B6F- zIZmEmNm%}CwPb@0ZY1)SGnJ`=bwI+1-tIiV8YynIUa{rw_C|`VnH5V=go6U)n6WZ_ z4uSEm9+AG1f&T5c66p!e7q$r52-Tl2JIa2t=Gt9MKBIB_Gl%h6{Ap%Mno-s+Kf%~} z$<0Pd0K>U+Zj3C@7jN%yd?3(CJ;va4%mWz59^Dxy+H5zgALRQ7dVa#Nzigf9pNLR3t~v6q*SgRpiubqk_?U6XDKX+RA01rtEWFsJP{iNo$-djv1csX`ugMbMOcpzW%rhhwHo>% zb6Yr;VK7dNm#*`4js#eecU3m|8n2pF=-xO>W`_W&j#8J#nAm~<3)Fd)O;NtS_(~T> zzu5)TE7~({-`g=%koK@2tX{sS5V=4LM5L!Izc=QjFMR zTYj{R6AiMpqUaijpW!oM)tby(ZjEV=U#;6S_vw=(|C-_oOKUu!x%!$1?6ofhtX+0<^BMAR;q)n>+-+EYY%oCojIqs( ziSt1;$`ci|so|P=|?2 z`|N(dD!N#PXy^UGMaHH{>W7M5`%vo_&Li)#$_{K3*sWIxmnJ~cA6X%2fp=yL_4*Ts zWrsj!iEiR{*yFPG)~-T}i(_`myCvk4DeuxU>~u!{*@;f6uAO8cs*LaHVN-Xv!!oKy zJP7)u;8B|4;5&GJA~@b4TcK(gMK>{t9@Vf}b20BZ;_>YKk8zdix?{Q1I9KzY#=fbj z!e<(W5PG@(;9||247;Ohzmde4D$65&o7NqZ8xML{S6w5nW(6O`#Um8{s1XHH^;EmT_sK(>7#0 zJiN|hB|xWaK1MTV-ygPJ0`+BVPU5(dufY&ZO%oJ!g&^OnYLg2w8otS91_&kHcS>=C1H}?2X9{gUUKWTMWe7ND znp_ocPrjCN1Nn7W@%7OfovYQ$S)) zQ9*LPz?e?4jh4wr7(l{5SSM)>7(kI$b)y_Ap`GP~ommOT7G;D61{|_;9 zs@C}-^hvnmX&1TG4ddRk)tiQ_&=8W3|F9bba26Rg=n60@4*!xzd4 zvwy9S&r41xXpP+#7Q<9SGz&9U?!7>)Ygb45Zcj6!a~szJHwFG`TT829@f{%feoqP( zx=pi}Ent@t#k+yj0>EUc@6!O+N0!h4Yh77MM7Ao?1ArAgDr4nf**V_b1d1wE=5LIY z`@j=?%)xKlMm>qw$q>`tQxh41b(ocZT&r{L%U6|LTW@OL^Ro~6Cu-PGkH%1vA>$uP z{y_}cnw|NnzWF7*@x9qoQVzcA3j)~yr8m*8aqv9|Gs)D&H?_AoY%HcvKds#!Y#%5S z2C}Duj5+iZ+D&Lyt#X`|&$xT(bl4D#LGc#*%Wv|V2$ByJBW9uS_DAvx()~;#mA4t{ z5?3P;Z6k?EuSEMIc`DI2mjNn>OS()Ly`E+rV#=*>c(I)5{iFTv~W^C*gFt z=x=eXKhF8Dz4eY2yNe>vT;AbNTL=0_q94=sE7Bx_s3fNfVA1K0-bh>HOU*bG%ubtX zQ_NrY{@6WA^Oh@sK?ui{WHCykEw+4hJ3Dw}8UgYNOadb)f>!P7LYwq+L-Rs~h!-3u zg_WzOs%}566R`IjANIIvUMhd`^1{iWckb*((E-*Ebg$#(RtU~*{nj>k1mB0TWOpoK zmEZ9uFz3u0<|zE`W7<)HL;!0(EfOxMnKRVg=uAD?7bijX?t-#KmrAVrI#!rAQqHM` z-*s#jMJnvz71$P)Zinvj&NI3^Q%kvQ4HA88$^q+bGT+C!x3)TbPOkD5mUqeMF&g{m zxysN$3rgI-FpP!G?50lBd9Wk%m+Fna8Bn)H{PyyKAm6&9x~v8HB<$yC&FFkz-2Tq} zgNb@rLE#FA&I9J66@@!A0f8;JHBh@dRN0xOo*wvUl#I7KzOAy=l(V0{rFkKB3tEqp~hq*@%zarM7+wSxFBepAoHhH0j}x?oFyccwdqoUw=TgHuiyut&^+J<88X6 zcmZP96TEgsp54>F%n|sScOp3M<0{X@0u#28(4fT9GPsjtn@P3{*fSb!%Fd}<#klT- zl^Ni+4%r*%)6_|78z7eVcJ==V%`Pn7hAiPp$0mAp7kmr`^yG@IXEh{&ljhAFes97a zdu<%h0}3K0hPE^c`;c{zBQ`QkpdGTejP8&JOMay~HZo_?*o#UMY|Pla%6Cf!IG9#3 zej4=k7C#Y?JJ1ua?^`j`8>NCgNn^8FJ8|1rsrUd4bv_a5Js)k@mK6n#n69b0ktEei zz|u5{TrOt(*FSZu`y$UY_z`<;l9pvs-kjOTbv~lCEaJJM<9fDnwudnAbjXFouaQ+{ zNaMY4-GKw{ajt?J<4k-14~gw2xKWh_fu1a~c>H{2+WB)S70d4Ql6p1rY%PW5W|_o> zHf6-Z$%XVx}q2L(uE>Ya-79JoF=8S}qy2WDuseDkkVPVB2L_a4ZGK zDPFh(VUKs;{z2dSrp0x@rb%oWe>dlQE9fw(b}IN%Rdz~($Y3Nd2Wi0mo*|2=&$u`F zhR>bSP_stvSe~^knIfKMhAqSQ?5&NqzV@L$-2#(cMFAbm_vD%(;P)Z}6lT5uY3eo3 zPf8nf0iDdplnx9=a$NXj1Z|Oc{^ynh%Ku!rd|-4Y_guSNhw2R2v&FP7A0m*qXtab9wqSzJ;QGBZ86y z47$CO`|n-j!5kc?9VAt?zuoz%j?JNv2@u*KFqYVviY*4=J+-JcF6W{_I4UpnfOS_0t-n#Bi9CP3qnv2)!r7%|pchGhbKU`X zbDaa$`TOZA#$owPlxG@$z4PaM%?pJX@`of1UVk=DPZo=bJv-+ze4loWuhF6?jpwJ$ zp4v}oihbwM6}WVddlY^ETkaWh%a*UgX33%1(53zXi};21c;ISEipvnJrzjPou5;r; zTlE)G2kR%uP*ho5(EnZ$hZ7BL_O0XXLUDw8Zicefi&wa_1USx9WF9BhA8hZ11t0rc zh!FB{N(e!h$hQ>oW7duzKA3&dd-ECAu^E((k+9sJxV=fn%|YiqbvX;*g82!=x6@?K zFYgF{`unC^ck^IefFr+FcC=bV&e?QTt`e|dt_)+FKbQ6Y2&fz!+$I}l$`KUC$M)2H zMc^AcNZB`FJ8(wl(XsyR>if}viY;tzPi8w@o1fte)bgHD@X&Yc?5awQXam_s z@`erybGgqBfjKiFFOsMF$jjHGoE?mccU10i|RoR(8 zzo+JxRoMk!QC4xuM?6Vvy}icW6v69({oSNVzun92UaXV!+~B<&;a z>-=bvhzxzxXG%8;@&b;QHspowq?;?bW@yWx1~wjzgU+GNP1F`6m^?x+kdBPe)?jfx zGHu^ztdWqo4O=h9kyR5YrRh_!!;{8-kn~-tct^v@=SEa3SMjyvw%Is?C%`)*?rIx2 z_C%P_7tAS@lW*(@4&OXtzJ|I80Ob={UVOY5aivj8%XErGQ3fy;&W0d8^P{4_ICpyu zLz&qpoGCr7`?zkBktg)|k9b=HMG>%blwwhaxd1hJPzqT<5?h;-s8q@AVHq!z56^yF zS}SLW{5&lkNGm@la;=eu%a!-kr0M6kE|XRmhFbng(o`PfnY4w?_6wTX!IVgV-#4j8 z23K0-NUZn7U*{&sk^K4NxmGkl)k&w3J*)4vpUzcfgT;4Rmm#NszYKrDjf5ZuP-2p$ zw3H}M3)xv8N1@=6U^6D+irgH!o+{-JCi;oE3vG@EmVv{A!+@TAB4U68Oagj=_4oH~^H) zMJX|&lThyOFpT!VAA7&B`~l-Vxo?s`xL<-s)6AV6U?RP>gLp3fULW2@(Aa;9 z0pOLhkZy3*%--)RG#SKS-9GIa`N=;O+5c`aD~}W^TZ5uI_!^{=TrN{HO&k+w z=eH9TlV%+qp}w}e}iNdz7Sw0Svi)cI>u7)$Sj$S2AP8}u0>$S=!?zBs49>MGVU(RUrf z$vs8*)24^vtHPWcO=$B2Hq}vtP+2E^TpN~>!|6l3$Hte*jEznc@@gg6VdHWbthf8$j8yb`JA*k$}@GiJk~ zSq))u82*a50Gf+(*2byi)?S?31^j6{Xs+8VEa;!4q5w-zg+s*^8V?*_?K*exbgUG} zLGhqswVzHD!6)*-8*UDjHk2GIm)$-#0-=zPiEFR=p?o^!XT*B^xrCz=K=k@4ddC*X z^VmC`&vc%@I?2~>_>QAJociH&@~vi-Pb>B~AxfczsgD|}e zG)y$p5`!b@*)}z@sS|9>Jt;2M=4sCWTnPi}#Vw`MI`Aek!%qFy@Q`i4NY>(>`n^Lj z{r-3E?@1u;|I|jGpPLvK8g1ee`SAc*xO%}?v@9$(s556YSa7R;v{T^{m7{wSzuXj1 z;Y_2^+v3MB8quCv`tjSyr1~96qviSU8YY6M8=_Fkw_FS+oxOI+jU}yvg*m6JE37if z)_&6vx68pX^cJ(Q1J2f*=f9vtQ?E(%jl;;|x+y`!U7_?(VyvNWQnx~NZT~}r!2lDb zYyLvTi)wDUf+cPRQ(K3p9nUu$S=xVp&$<~oze+Hh;KkZe+sBsJ+;)Z7a?Y6d^gfzo zJfmS>m33Ni-klRXN^i4my053hn$KXwQ{l^f1uKL=gF+-r=qDs zYK@%3+m8(=t0uTHq8&jtE8)(x7VHEIYHSrF51Eo#DAgaCI3l={oLBjV98IRt_x3N# z)NROCjGX`R1oa6Pe6}uyNMsn6!Zv0o)m-c$ClSScNW-^+BNwao;eYoPloM0Y%EKi^ z#MP#RWs`8RSE=w{AQFk(H%-tH?J9U)plsj@+DAE)=~T=jEF7|^s=tg?dIn8Ccg>88 zHeNFDEyIRNN{8Np<6{Vh`S#aJ2A~#N?tQP<^Y8kL#MRDCX84wUN9sfswF=o zAR@iwCd@8T9~+TNimU}2Rv(`*sL*Xp;S)y%bIFEuwM8_2i=J8_SP%|NjW${#^M)Jd zo_%j_mabVPqkJqWv4y-MH)&?uVFT?w&aa~X*a2rNPB!rE`IJ_}p?_F3m4$C+6MI}f z*q`iFKK_U$RV3A7gVEUg2G{2%@msGLU;VWoR&vSzVd(9T6xs{9ceg|DURqzJuzHN8 z+{Y5zTUnblm^X<~Osr^nKRq^t|E{;cwPf67Z_KlnY;5HiE?sD+AN3xgQ0poAKs$F{ zxz3khamuW|o_tu(d%3z3RGL7Lk?UMoYvvvD3)!WdzrCq-uCS#{A&f8%hrZPizs45htByH8ZTf@u*g2 zx2Y2?D2Pv4aCEgycpCg%`texHV#iP`tgt{>Pli@c4E1rfpl~d1w;+J>_>NV}d6RTw ztwv_>Gn=u-AarLZ?l670xZLp zPp^=B3|Zk2I5nzf$I>#9dFwxfnCaDX$;Rn}5;2{p@46L}%>(`8=(h@<^l_L;naA1L z8IC|RF>^Oal)MPK4E=FL`;N_?Iuy(zEwvPi<#OS>j z_=`MRD1yp!<6(vWH2k9#&uw3oQnO(T^HhO7E_E(fMfSaOHEXVm#oQcCk5p_g)I%P=&WC(&GZQjAydN9 z?Pd1^0^P+E@>WK8)b)psYYKRS?5tndIqeDBcsO8+uyJY+IG_?g-l5H=wA#i(S~DWKz;Q8cRN(8KyY@X@#ZT7mIn*?Z)H!e=LfnTqxb;*cC^{`uZ810!!xisR%1K%PlRWhef=?a^SGMoWH zJh8mt%8ec5>?+@g?lmGpog0xm6*ssRE*CO2I)UJF@Kyj`Md>CeDkT$;vdS%8x6_QJUEG~@FXpygS$r7#dg^SPmxm!z_HjuMe2 z#wv(;(RL|$1EEx!;N(2gV}EQd?DwGiGr~isxr|S54>Zw{MGc?Ny}32gLgsYw++oS2 z%>s81>a%5mk$3o}y=FrhLc`a=zAMsMdCb?TQvapu8ftf?S*c7%p#0;D9B8Ed-{Y=& zb-g*Ta1a-goRv?nG+;#rNdeP{_q;AG8Jhn`(u2fF2o}WTse!926 z5lU!B-GVOoFqfo=@O_aZO!+<*lRZ);Ah2f&l;BgB9YdK09-7g?S#Q^tF$Cmyfd*pb zQz3a`aCS29#VBU>FJe%fPcGH0yiT-^_FW*20719XU;XHN%i>!B8c^hDt^vsrE>J1)YL7Bl9qmb;bRmJ z5^PClRTr(ELIuplnCA4~0qlopU(He6uA&5PiF@Iw@kvhvfgKb3MsBDS1n3Cxwx(f1eV zN;USw^KE_g{dM_ZYVqGb>p$Vld8oSK*!%J|Xe)RbCpPt4eupu87t@KVC_G))NtSbw zCh{EroGeaO&3gUC`Z`|5SWZ0ymKq^p=d+5sbcS&-c#a$mGn(vOK)cc0hTk2HboYON zk_@y=+z;=wLC`zt+YP6~p1;QU&5q>ush-JAQj=Fu_i23I~gs!#qG+E)taEEo) zVPxlj2oyj3xjp0hdRIeFoFmg3^L3QJWhWm0LF< zxeWV#Ti_>&>Sr0-Jx$xRn1Q2VnRNf_E^2h=_{R;@1(MOhyOC_s=&ahWh|M}R;zGyJ zQa_z>rd*}3o*28SB9zs%g?J9??uK(ePA=97&E4!?wzT^!1ZZE#h*A%gn1Ewsw@&ud=h z{BOD__6qv-Fj;8F?N}H_%fn^LFc(QQ{n=h*09v2F&D*G;@~WGBW{O;SQH)p` zjr{%jV^T!=Lr?$YVFfBp-(mEaMCDhz z95*v))2e4q&B_Y}VOFEiniEgSn0(Gyiy*vY0VntDU$D`FD%s%dVr|BGzi6h zJk-_EYny6~%E*&@8r(y+rmZ%Mb4E|k`j7{P;<&X&rWKeADHN}f_lWNJ*Zqz+G$rM% zpzAI2pF(Qzu0Bvv3^7ZG^+!gjdqt3gozKZUw~F+*JS7HEVqwhpt|Q=_2MQdF0IQWM<2JVyIMr29IHL_)xzp`6x8Vw?36_Ls>OZGWTCOLWtpy zUEU?e1v2Pi8{*pTEf-X6XOs<#`YyzWyT+LG^3HIIQxHEii3P$Rv3^zyMAHD>toeZe47Yaq%D-E$mbK@}GOn zNxKAxu-UDmRP9tg`B9Uy=)NChhPHf1U9`}h?X)_Or|+fCZ$}eVAak7~_k)$F^j6a$ zVgYhpI3ubX^yNs1kwtRu&C5M6yGmwsOcz*&7b%J|F18JMq(+dQrx}eRYOIlGsM1?JLAF!zbsMsWE4h z(O&~DAF<) z`tTY{=_VM1aQyT0Iwg{U;M}h=_%M55EaVu@G`Ej;S~70aty6cf@3!3`cfHgyX4%6l z6|qYRLE1Mtc{Z($xrn`zb0om%j+wC7iGR;t+)JKfula()xOL0gBM0j96U_nh(=`($ zJSDytGbQ*xQng+$z2oz_r;4Ye95q@x#Q}lhe9zC~w&<*N2yJ{m?CIsZG7W=5={hm2#IeUl6>XDp)DKqO!B$V->1zJkI){4Yr*YA$7cBL~FT4|iX1}1#ZO>j7Sz6^Mw?SM>>R!C7 zZcN(hPfKv*Nm8Dj2pJX_t9DAS=>}HCPDxG~C3J0OxP&s()fZ*d%-K^MQKUGVJYae!c&$o)N>xahr?Lm%UKRjZPnl0AsIAM#?7PSa?qoywu{l**Qy!|2TPtvn4l6X04F+tdO0b7`uO93{duIlnP**BKFL)T1FTSr1xi!NwIWgMTmWBLqCLr0bT zs$H9+Q(o=Z>zBCnmrOf--EyTj?VnSVbW}Qrs7a#A*nbxJMz_lcHcW}r^qgLkk=&v_ zOz1A8k2*Iae(E@?dhVnT?$e7i_GOFp7UgRk#AOL)kbZw!G^%l@TEAiz4p2(w#6JU~ z40XYXTv5p@`ESz9TS1s+QV)^wnRf3T-cEzifQXZjnHx5=NWawfnmKIAf<$GiH?Q(>8njvE_5SuZPv zBNf4UnT5I19SuHBGB`Ieig;Pw1+RVF#l!Y%ts^!`+2nnYu;t4B0TP64o6@>T*FmIo z==&uU8FOe+B{x~>mI7xO`87Zcade*B}I#qx*!G% zfm?@!C~gJ^rFQeARZ{}jn-w+(ZwO#KE>EMs+;73GjZ#?CDTJXpgX*;I`u_sCWF20> zia3j*+ekJufh&T?i?2Y2%f~jp;hV7+R+t?SN3tYg?FHQglut!9c)!c0H94jzGERU) zCd=Sv`NKc9FTj;uSQSsVLnv4{$l7B-Huqu=dKLY-l=0%Fu{I<>58~W&$&r9(#8S?O z#z&98QANm=ZjvAhU6frx36_YW^wSRt4thqns4qdN-hZx`730kiWab=hY9(m@GUN_* zu2PxolN$jpm$TIN5M_+7dpi~NFI1&`J>~Fw*}yvESZ3teP(}2XuP7#4b%?u z)=QPJf+hhJaCfpWoMkwH@ySGe)h&5d(iLiIXeDqNowFQiwA_Aj(Ykc2LC=!cyTsP51^9Br4Vdb7ECoS?n2e{9RT?P zsxgNUzXY?dzlA_N55})(miz*vp+jhV>HRnjCWSKZ~b3alEp%ntEV0nI&j{ zd3|jYGxWOO`o`JI=n3w<)V=r$g4q9Jg za+%0oNOk^u9AWBd5%%Z|@DxyJKSZf3W7USLIIULEO8=H7*hJ$Ij?3^u zT~7jeYvc#$dQ=-I9snjm?dp#M&8)X7!xdXXJn#BsnV7Q2g1 zq~OoDV^EHk-qEAUVqMum*R)!eT-ejrU32nY={x(Tk3I@VnfixCzgky!A72GLw0;;R zWSDqEQ?ILE|KYS4;YTB^Tf1;3w_O(W5spCri+d%JD&`k6`liA%>^7ju)xV_KF+8;W zOsVuBPhotNxYXnjtL+YEf~!%|t23t8y(9BiP?ERz9xd+L^Y{OZ>R;kGOR~(WZ~3x< z@yoJTDp|uWEVK@Sj+{y6|FTsft2ylYU5AJf?~LIvc6VT^n`Eqb;4)xf+bfQ0B8TYfS`N*UW^D&9d| z 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�#E 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�MoO%&%v(Y%oZc;H~lr=BRJyH4|+k%N*_S^2DWu=iTvMN@#B?GbWMkRAN8AN zjtma}4Hm2ay@#zmV5l@fW;weth1B#`I^>UVDc({BhE=s_LPuxw`VYFsz8lh0iIW== z9EZ?nmJG0nzub+O5$~eiV()$-;GZq+ zvOfZug2fMd*lJNN>8}@z1;DCLL_6cz`pzi3-AoO&iwunh`wvj1s>5kKXYmnFGwpxc zDv;m1Qt!O(-B~}k(ijg1F4j{;fm$h*S4vh_6DP~=qNZKBwgTiS5sS74Hj!@hGt^#I zqTH;ZKrYZsO#Z8NoK9lD*bTn*B{Wml?28TPwD}F%e*oc2^I~Z(r2calerKP3rf@=! zAq8vbG*ttg=B5sxlDcDZZt^Z+r8;XD{X`5#FTnmyE&0l*PBCZqhTd}#bF|sG%Y$!yQpz^x>Am7vnDAjfC>yD-f1%4_}RV7ySIJiBNJW- zosb$Twsl?DRv-D<1X^^yl?>0JbL}6x5ytzp|1>h7ok zP{%a&#<5Ur-Hw6zs(FMG+f2X3)IY$1R>ZPucKo@Ro%8Z7Wag1Y3HdYEsr39mOH6Jl zBx9#3skYB1HU9uOCt}yR0zU5go1rrs(>GZW_>LNF4J}}K(d0Gc6oz-eX~lo_-;>#W2Eo$S)uh2I6d&XJ-*;O z(>-oV$&rEQY&DOsECY^<{fD&$-na(oeibTLRnf=q61=Cj|NaB;r};^ITRR&-I?58d zGOcO~&EP1kv2McJmD3Ll1Qz4bw`0&_p2S|^E<)eWpo=xL%WlRTlahMLht0;~IqWGtnom1*!e&Pva00l@vaxQ?y@>g*9s6L~k0XrWQZ9v1TzrLB?k zg-m$@E&tY42kxekW!5Tq>B~Jb54Ie^eF5)+-D!y{9~|Qv+K{oMt_mW<>aKp0rIEVx zJZu-}HxglOZ7-N&>^$JkHQ{Yq4kDD@wBD^dA6O0gf}ARfhw9sHs;WOW%oDVjUEO~WN+8ujC#E(vKID z)dWH`&sNM&-?(=C=n2YXKi&rzGaYm{1EH;raIq}J;Gl1qOUy_;WD?2!Afw~&dc*vD zAXr#l!$M3-M6s<`6|jKQk!%KV>{BxRv|4J8CNbUnZs~7P6bO#sLJds}Cje7&QY7zo zGzWlEE2*_!w=ZA6^}>V71UqyqA}!OZXMYbPN!#^&wMro-z|8(o`S`RyP4{ZoBc08}bvKAJ(7^AeMXp&xk{3GND>~An{;~PQy+e%K zaNz}$RZO2^J9V92mNWwtGgdW!t3L#mrPoL!+bzH3^?K_>T=*{AFn=`05@!r{{Iqmf zLCElTpg4-b8Z5OjmHp z&2c|&us))z9`cSld(MV3?inMCecyJ6qTz!AZ9*iTo56gUkT*?D+IC%A=@Awe_Bn)|pBeIVpe#)X(5iBYce^M| zTqD00x;l(l9&;VrlNs4p3<(Q)K#(!29^Wr8S7@Z#y$pi-92Nh$PoL%v+Acn3IxcP( zJq7*eH0D`YL_;r+BkOOGJvoE{b5${WCQOj_dG>aM>B`Q; zU9lTd*O-RqUl1b5_~G`A=IwF;CccnCEC7ZO{77gX_9AUpP0uDLDES4Vxh!w9pX3ak zsVn>gG(p;!oBMGVD9Ig5s|9&ZADbUndtIwQDY8h?6nJScSwY=rPE8StX42NEc_`HE zHLL~Gn5(T-dS7bM5>R#N$m`K>?4aV}RL)_~dE9MUJx(a+mJ1r+6`IJ3Zj~)RO~#($ z%A|#5x*=S2xFSrYP;Se_gNC_>!{y&VO{gM>-41%-c5(7(R_X_B3lDvq5G*8|ra7cs zO9t(UFlfilMtZC#{Z%hF`hlycd5Av@9ddKL)M**iDHrW?B?q*a-o|8x)}C~GFVZ6G z>LK+FKG9L0w^Mpn{mYZoT&;!mhpbrLEVRN`S(8OKZhbjvub8ll-F}YJiWne;zRQB(xUJUj5B0`cp$} z1Q$U+<7VZYTH_rBJIvs>cg`1CQvK=+({xp8o+>)A(y6fWM34K+6lNBkurJVu=Sizs z((0qf8Q6gsjSYFjXm@e`+GrNR=j}R~2_7GB+3z8Iy?c_>d|2BWHgU(>BDOKsMqD$e zU!q;DLc+z(BuSwmxv8_4QyYV)cU7%Ha7mm+yiLy{(ecWF@8n9jvx4 zFi@O3pC?0copHWA470ACk^BMN6--HHPS{-iBq^#hd^O;xyypZ&YAytsC(9R8f8Q-= z$vo-2cHHfsGbfs5t^rYLwy)$&$S=w_yK6v*O5TDk`1wIaifAJla8Z;NiH|`!Tl;Y}lq$)= z{seb3+z@X4$?8;S=m*%`Thni9mW zQ|ctDyH8T<@tiSL_gL?wgFifAq}m{sTWNB zmToEFpIf!huY5g0#wT&Ha;_N%u%2XT1EevkT$$%}!z@MVAL1WsJe&a!CEHE#S>01x z=-_KncenDHcCPFsOL}w^N-Y;?eixnA=g4#S9jxBYxtZ%jXunS0NkR4(Simg~UU0Eh zv{_YZY&Y$g^CQ!=f1_?#5VYDJDo~bP7-MVlABk38D!Hw|9Op7DwGoUF2s#2ae9parE%if^UOz4xm$VjoxEO}58m)w-)Fw| z75Dub%4y#_w3d{#ZehZmxa%0(Sb8`9xTFI|RS;DK>#Nv!l>0%7W&S{^PC`Aw3pdq> zbG^=t@?xL7qf zEoW{Zi8y7Oe8O80nMx@m{%~2wWijje?V&yHD+F8ftSf|{+9_a|&X-o@?Z)e5ll5&~ zx;$F}%V69lk;$SX!3lUxlJ@Iba1A8|(EG~=GMd~UzK*l_*2Y?w=3~KWX8KkzQS#4` z(LAv`PAKP`8ItnURlJ-VVG*y-JF5bu8$$HR!Blnb4{P5Dfe1U?K)B9R9npGkRvI6a z#1M6?H<)L5BU^$CY*y105i^oO4JL&x6_L;{k!KaF@gs%1sM%znh3~D`PAfpbJg&P& zha;&`j*sWv8Tuja47JJ+OW4})A6Er+Yx9~jPaZ(sYCxpVD)eAq9!RY}b1{I_ZKR}o zBrLn#4i`9&gso!8Wmz4KJ8Xez8@<22<&n){lg|g*MW++r@k4p~`;9`4dpuR?eWTIE zEOrGS0^2&HXao3~^xy5w27B7JJ0lG_1HG#fS3Zj#{0O-CwObrp^b1Nqz=fTESpGCl zTaQn6-mjYU2E@NbViHz(HY3|L^w-0bb)*i)qxiP*-B$uspR)|aO`QB*MrfW8S8heg z!|2}z+^?N4RxkugbL~_#|AOvoiO<5deu5UU`n)QOFfsnXn6oEx;+dIHt{v&9@BU|} z<@C7>EA1sl9?ihGI&kWQMisr5Oxa-o7hdV*GSg%b;7FZWe9e`Y-d>ONt%aKB zt9y3lA(;57nyMbqh{kx6l5y}-M62C=toDX~W&YY7o^MLQYo7dT6zd~ONm}&AaFgiJ z9P=d4IbEgqgFJ)8vU$xqeUG!iP<=~6J58M{2U5-|Py6}0pP;JIM*wc2+w_y~hd`Qg zb{mFmgP*P*?>WS}cqodY$fU59D>FNM_hNSMQqx;PGiQPfu{`&qi?){6kSFx6w)E;= zK{EoDU&8ti5KunRKYkkhKBXyOuWGs}F>A)!DDcyu0{g@y6`z$_@WyWuEmaWzvD~y= zn)I#aQ0&Fn3-QMp-pxkIs#(!U)1iImTeIUUi1V|(1eIBV9nh!mBaoHS zMMsL)_>LA(Ztt$NEnKh2b-8hZoC;<5HBGpw4^vU_8K6$0c_46WII|8m)lih24!}fZs zph&a!;`oN=WT$@SLf$3k8*9;Ioe0ZIn!ms8{PQnTe1p=@_Nifi1dyWsp;mplM%ylr z)d{}2_e`iu-x;-O9Bb2&gHi0kI<8pZR*VRZBfjKDWn=pK+;ngx$au=I?3r;N13{`B z>?o3U`1W@h=N>1g2e|Tcc_L5=(;70g0z2m&`E-0Fa*B$r)BMD`*fBfxd<|fTnMXS(cM6fVvvz4XWxlqQ;t} zM~xjn&kb-ke_pqudMQrYlDx#Nz-Ba;b3Xob6bh#J`3phWGVp_-rX9e#`ICtKIf;Dg zueKr_o`-t%*SkF2rJSp>z+>6E{_ic1$yFNK6|IfY0f*wjwV4axO3q9h%3QEPe~iet zDx_|>VlE{2K3dTWaX1uM96>g}rNCH;y4KEr{WUgb)e`9uDYs4duPtr5!!!uvBo1xu z$*Se>1v^LHc>Rtl7Wh;v4~eC_^!*TGLlzLlNZQ%ELL%)y8&#TSr?U zb8iiAs43T_?q%K+E0K3${gyjzrR|(|spE=k#YI^cFI6yfWTn|qISQ_N{p$F}vJ?bO zyi2b04$rxA4ON~V6xLy$^+B+WMI#fgvoL<*;dva{f%;&QZ#?(6S~ACy1ic+c;O(0z znLcXnNo?CK*m8+6C%aI6PK9|$_TemVOwJ&OS^Z&vf|u!}$MiQf_21CiW!#g3xE2M_ zLCuOqsF^kS!LP{ky*R^+Sqd`{y1g#ZkQMlC2PkWb*0Z{%S7?uf_mbL}VVM&$$Ql}~ zN&fnK2Vq}2)FlTDiOa7=_&H#meUpU1r3K2p#`DqV{BF z`zdUEsH%xZf{Nq?%_R zg%7Mjn?X2m@pjFda`Ft)-d9F)8C1X2GfjHpuc=v$$QgFnV|RvYH-O2qj>Qk9XJlz* z1Y$0lmZ5%7m5bnWOkM%!oYTXy0{M1L2$uder>W@RH%*g;$QuuLyw?u)G@n4Ih9&daU$le3ul(_O7 zEpA93UetVNW1IBLQs$2WhV$-7F8tHuai1tcG#NM~{-h&L_6I;INvRIzQ*bU~F+K=! zpT*TO$9Ra^CCuD;hpV~T1$a$^6FKSD;E#QSG&Pn2-~SJdbsDjc!8Hi0gTXeB3Ruy^h}xb1Y}u zyxW$)&svUyJ^(3VL1UB)?U#!4UEmdwj;REUX4--QljlcOIr>(R@zo{yAGO}b6+!<1 zX(oRNm^$1xjVCLgUVNk>u(A1ZN-oM~0b~SKYtHI#MW&LwoRJrA?R$r=A&?7gm0nq$ z9~X!(Gel4R6iZ!Gu*ywcF~Juse2h?iJEne)md6YA)d_Ta2TF5WR#~iy2j_-#tIhnE z`6~AlSx(UB$OfK6Uc!F(R9y7fY)wW-+-2yTaulcJlzMGShBd#5aL#UO&0*7TOWUsLnHvDKBTLe${ewZvEtoZg&zcu+1V8EN(D$ZvVg zpn&?mfxN)I)5p;+-EV1*_I2{sd`c&Rm#zX6v>D0I>XXAi09oU#!L2=%w1a%j5F*NJ zX#<}_4!{`Sn8#rlNkqCRXUC(Xdna@nys~62C zwbfa*9ge;}!J2S`4otIY@X*}iVJvSoYY|=k^;hYvn=e7jVsK1)Zhkl49A+Wu;?oU8 ztJ2ORLhzE5l2!Mo9?0~2Tn68~f?VbLK|+aj>@}V^tho=~n7ST+Y{U_a zz2|%x8vuVput-`N_V#arIjo-e31I2s(3|5WQFhv;X07=j@mV8Aeb^q>nGJbV{v9SF2&*> zK;OIVCM_5LId>i&#T9qa?O}b_Gbc~HaU$S8ZUow*Cw+5R^dDfV{LU}%MF@-^E({p3 z|70!~<@`RuEih)?ASqziOQXwWq*!Bc{AFFo=LV2* zvELJOP-LYkH?nmnt4AHQFk&oyqhA`5NG6U{%+7t5M+_)SbROQVyG=vRhO$gmny4inpOuw)AqX?8RnKKf zR)r~SinQ$?FY&KasQ`-wzxPp#nRx;Jw*$ z?=#71ljv(BP)OFfiz@=gMA&fIJHY3+8E$2s1-3S2OEuhzgm1#7`0Jyq>WA(uWs zrOt8(R_kA3G8%?8|GK!LGO`FVu8_U~l$P||vYC`#m&`CblDQv<7U4#+|3O=0u7)rU$IO&96FMB3xbm4j-=|GZ7zFy$$`OI#z`7 zkIx#_GXePcgHBrO_B;2^=DF?j6L?j>=gWg~S$4cy88<9$ogx@(6Fhu?k)NvTLMN7| zjaO_$-^L~bC8ZVG;C-umCj}mdAr(H(hY>sg^@jNy^<&IF1LK_oGeIe2AM7(B2O-u> z(9K=Yai0a{|MSydRb$8+F(I$~8;x&ga!>!}Ql+INJxF29$6ZoJyf4|O*E$)Lc(WfF z?>u}NQ(LL=JU(=g)rbR&Peye-4kDB=*`Vn1T#UOmoZ} zQG5Ek|M`RQ;Ajv`n@>$9x^Fr}33P7Nv_Kh@4ImHvzb|Zw`G0xg9A?<`;mh&P6$u<_ zuWVdcWu55KN&&`A0IpFc|8zy>eWTV!0E2&$2?{YG@d-b*QTx0^^d%Vgx63qzW08uA zCw)3wv$uY=if5+VQzsLlXoLki0hv$3&sM+lhN~?ElobQ2nzrcc!$Tp4SG9*X^8@J3NV6gCfkux%?Ja8X3npesclmreIM%U{ z`%g_Jqgp=2T%*e*gM4sKxb8J5PUmjw;&Z?K6Vk1_F{jUt$=gy z_S(>OSfKq@tTh`?r8qvNEvWf(tm`$XmG{)aM@Ek~W~Q!9rp(v!#`NpD%)`I8Enju* zb(tu$>;I$j<7xJ#NWvOc!GZxkyg?P9k9WN(O{nC)7{;j|9y)6ppk760e_ZFZaJ1VJ zd)my0y~}b&A>lT+hg4vK&$UTPke3~&-CA!mw3gTo6atx*TGxt&I8D~j-#|MpKe2sJ zH=!WsVUECulV>y3E9Pc7Y-`DXf0GD~%JRV*`tH%hAn!APG#Ep9#cxF~EqFVgWn-?%rj(IA}O(Qhl7ot{0| zG|eL%`{)~hD3l7l3@n97kLW~^Ys7sXznIy9QEpdkK!kT6Df)MDd-Z^*{KaE`2ZM%o zoYzyzDfmMkOAJV`pLzzFNWxy*p+7u=^VfW4Is``ix;D{NN+8B&M@ZE(uAZmCm)3Qc zGVEuk@Oz~VJ7G3-Wwt2W5S1=lO9}DS7bp>)7CErNkV1?4(Vc-fZ3)BkQ8M4jej2OF zTQmA5RdsJ%|9D#F3XalR_j>OYlh<`Ukxe9XhDE4SADu^~LD#V1~VrY)Mk;o9c*bq@Q;o>W7s~x|zY) zmA=(xb#UV4FxJN;L5n$O@HeJehF;>Y@7JWdF(Z*GzH`0m^tg5MYRixOD}{Hts5OjOv3>2op< z8dac8O*?v6JjRGW)2}SVLDhdy-@DMBg4mNW*`i_L!2?{Y?sUM_v|YydvyHVuO7Rs1kvP&Mi?IzEi879O|s`kdEk$|kvwh>Qb2i>es zg@*`HWd5Sru`>|bLzZBOcqwb|+To2qp8&QS+MH%Bv*x+YtJ2Ulg50cB5=~Mu2u6Yo|R)ewWpA*~iDKU$;;E zgD)qA`vq4aQ!V~W`{$G>^#M1P0tOLcx|E`myO`C~LJtU9alN~5>O@Lx^!I=bb4_BN$`$!609Z&-B1IR$m* z)EL4R2iW#o#>kqPR7&^nN3&2r2#)`mGFFRZ;+uN0};0c{@i@M^@ z_iNEBj54ZevPJjz#BpxlTZB%d-;>AcOv@go3Fz&J^4J4DOAsbZ4AstpRzNUM)J-x= z#~x8LQCcUshy8Kn3N~-!LsYk0vY+%!qT;qZA7DyXCn)-!u5jM!Wbe3g*E&7VSu6vU zm~?Adpu!KY)>|=x&+(l9Js#t-!gHQXgr^n-m}YojY$|@9h_0;(`MZvP!sbDKM0%d0 zE!Ee9B_B4@(xUHaiV8sk*HUm>qwxO5pP*~SYc<=CMZ9eQo76 zbA@+xLvN}D;4l4;%YjqkcNCwPUqklq$M(Mlbn=8VGLB5EjIQdirVaK#>9NwfL9MG9 z2-!NMD6Ge)NqdB)lt!O&hjRl2I#Qyq*~0}@vq&j((LnYYvHt-$e$l`G#XX>cLqCtp zh^Lxf%S-F|4oVNdFkOr5O?~}cbs1G*Iu- z2QF{6gkPV$T4FA2x$9CkinJUlnPtEb%UG{#d3AU`^Jwp_dP1r8=GdoPFtBc)UZmbB zpP_EiW^6xwqU_>!N6ajw@Wc0ygA3wUJrxo28+QZVhs~k<2C&jSgMvLjd=ymI9Cs60 zqJzJIh9)>$noBly(;mhRxEvU8sk#ir-I`{OQze#pjMdl#+C@R%jZBQpG23%ePKT2W zf4|xtCaL>R9YiXm0#!=O&c7PB@bAOW9qZd}5{&6MO=I7=+4hL%d~~ewcGskPI6xx} z#d+vY8joxI7;akA^tPrLay)0j9dcLxFl*r);7--uNegl-ci5XV8Q_?}-sFvYJL4&v z5U*4+8fpd&m#6$$nie}v{@AO2Vro`OZdKww_94s)dPOoUZH!pc!D@89c+C;7Pic&E z#cM-R@U!U< zD)^Qj%l9YlXT&;6%uG-Il|yh3)_vmuSGj8_@tkLTP1m5d)NbKP(NTfq?UT+q^uS=y z7_%UclbC$Me%)RWz4{S+XELradHH6&;Te_l{kSZGl%AX9h@W{sGmkp}=HN)}pP*zv zBXc|Eiy|V`ee+?RPNNf_Z<6LF&E|HFl*KD-p!vyMS*<~HHm)<|2ZOo6Ik zBMoe5}N~I5Snd+eL$zUSL#Us3L1^bYHztL4Tl6Hjikh1*9Ba$ zo*q6P+_hLp)(E;_^EZ@6@51ZReCmqT+J0wjD$fy_35O3Fy1_Z>B|hZ|?f2Oj^UlJ}Bkw6L7I-FDI9hGeAXCvihzBMV1DDuDjrYL8N{C?SMi{7mGf(`ErF z_VWItXYHp?Ip`4_&_GIFx{CRWOPsG|aNhNdJPpE_VLGX+`>v(^S%E~jfG0RY!2wfR zWA`7*BKgSgQVjEzQ7XXCt+D7_XSuZR;`!-IkJWiQiZ5ABBB}pL%Red)ojkyrDh4e&%2wo78f1J9hfr9H7M%M|x+81rHm;*ilc*c~zw3z*iogw#!Z z2vWKHyQkmCD>5+V(Pa{K$j=_p9P}pV+NH2NH`4ZRtB|KZObEDW7j_97QEF7UQt!48 zQ*2f%%O~Sl^`fw8Tx`gIYuVymAL1_Qn`YyF!u_KcbH0vJZ|zqRZ>-i)HkqYk5Ni1c znIUo5O;=0cIiub2Uy~Dv$F0}p&?_2?l%iaN0+efxh?d}7#uD=v&w&$D3u=YVY@N;^Y?*pW*!cv=Kd99Gpk3?6%vrx$d z>_bXG4^9O#5uKdr+N;`Ji6l>vN**{3(qRN%LCkcj8g6XYk6zx|i`wMkyLgxQ!gKob zet_K?W~3!&&zf0mJ;Sa;BcextCJwOzsHFak+qa8)=IWYevCuCtoLTH+`SXhsbtZ@# zr3IEI_oL{8uUs&miY%MSf>U#6{rldwJpVQJSWd*nHi1`};qOe#`{qV+@IFyM<34}B zL5mwm-96TBYo>Z(XZ8}0J&ls*2u4HIyZqUE+Q>u+L~##ir;b`(opVA07G^j58&R}> zEg|Y?0xKi2R!x7!6ngshIrtzKyJK&uGImqbgDG;gHJG+1oMAXiP%R* z6nv3Ib2$gZJB~x88fnUy(%&03@U;=)%@pqvYXsMl`Q3HdqDbF{0 z5PkOzT(JE)^)qqF1t7MBH4%l{^9j!ezt_md5|*#M&d&)+T~5Zbv7*VzQgSzh2A9y< zS_rLWFOfcBtIm@@fW&L8S zydRwD(d}QrY2LdoE6udL_Yq{@WnnXwOkT(E$dpb9)uVd@mtlwX%};r?$}5*5!J}m= zu*1W#sBL+R0lHkyKXOgUtX$vXoD%m$xE{u4oCZ{cpKnwgv+{xJ-ge?SodnW**kARC zj{vP{888;78+jGKqK0O~=LC=f7`DWEithE1(paq-lDeOLGU)cLg;y%cWO};ofgkO& zoqM2Z98k3Nq6mu!zP9AzNa&FLCUqWyo^lhiKICy1M{de}5xco-rrimc9;M(sYlv;; ziihtjV@&2Wgk4-7KV_$!62BX)@+GeMV1q@wAEjEeS!tU#o+my5`85rfQI-f|ly}a9 zORee*)iEI-cAqNk>|63(hCP4znlgLV#GkKF3Cve7MZ;-&9{45NZocg-SGes3?U23{ zpjDj8e4B4qsORn$?t6 z%C%?+b>|rhL4gupokaHYW1Sy*khY2M9|2&HS9gOeMS4YNCXE(Tw=hMj<=`p6Z5KnP zL;CMWwaG~9dna`nP^||fC*q&yG*c&VhT4N;NCFms6WJ3PND=?4#m_a?#jBf?z9!oc z?k;`lQ0)yc8#3iYk7V$;N}s$?h~m5t$pbUC`4{8$+LEFtY*~H)%*8QXdiGJ073p{FHVnLlbOkAN4@dXzv&4Z%#?-kkTfkR>0K`Yh z)RYn)Isf9Z)e^!)y3t4F<@#VawIdYS|I|+KKS0+vev0wq26*hA+G9+b_$8&|PHpwZ zY-R1TXpV*4Id&Hwnc)_Opp%09?g`CCJ%zWSrcc|XzOP=$1^-zXgzel;ymgF$pH2WN zQLPn}xC}559cfv+&r_#sy4Je!UUFnXP*9*dLgpWp^?lt8%nKyDdgc|%_O{F{B+ohL zkr%NJuTa*Eo^x8$jYTlor>y>bYa(IwRzM2S$6e{llc=0vw0n<&dXKdd%cJsLyxU3B zpU61B5Mb)iR>WQ-wHDm$8|%iGN2chG)MgT1ExbV2eTk@D8-6tuX7A{GoM7PuPlDZe z9`)McN*g*qyuMkP8&$x#PwMCR0=?@OICe1A^2~BSza>G zo5)!QH$Mg0)}rn<>EtYIXVS(B22af@IdddY8tf0?Q--wjvO{E7R@-Z2QgaYNG!&FyoAClU@cZd()xhs?{pF z{#h_$6k>Z-GA3?p>c#AxV`rnVT~kk)+-8If)6mtHT}i@T8mhZ&c75iN<-8eXk(mM` zON_UqiyH`+doGNQKtncP;3|7Dze;Ppq_F+Ylw>K4?@Rg5L;i~?K$8NBZFA*M&!DbL!+n_Ct7?b*GMmAp`V}wSja<(%_)FrCDk_%$;!f+!XBuC@ zVw)?`j&;43+&IQD{DS5zWJ0~^V-`MVB2h@j!ZKaWl)wWzn~2$q2isgM6o}1>G{*k2 zYv#aw{P8}1{e6QcyPKIC5T{%Fl_BScR53f|bRw*vh?8Ds?Z+Em_ggdR==3fgj&%=8 zw6VoGlk$@~Es>Qusr@Hs7@k9z@qMYMqpqWvf@ed!7Nu_qQN?|xe}?dOBQ1L5YBI&y zK^SL`m2-XRAT4vT)*$%vra3wa(^wmPGN1+5NPZA!r&I0B(Rhf(Q$~q_{Lqu~xUyq; ztd4h@tA}x_sH*~Xh12g7!y7S{e|mU8{qdpX;boX|k)&ibiuwW_Rqx_B(_qbo2xRB% zDA0E_RZ=sE^nvH#n~qR|`MsT-D$dzy;8&L&*o<@K;3}Og$8s}hSt?du zX_VHGNF$^8< zns4LGd!HfXvkY8{uDMWB-)3)@$cCPckX>+VI*|K2zKp#07xnxZbe}=OuGDlH_fDq!R+q&p=_V9a@vujh@GwN`)VaFr%#71S1!rKLZ<>KyJft^9&Ha9aUSM zgGG8h(;*dOTx+)ifm-Rinl0gw4uRmfctfEz&V8l@NzdD$-^l6xn4F$fBmGT-Dt3-r zPNJ2=EvNK4Q1;rQ1#u2i9K>wB<4s2ZvsT|yvl237M(wR)&LbFVa%Z%Ulq}B{-4-Gy zg$H)4{iB*HgEDgZkP&iE`eqF`|55Q`gh{_(6M(4Hd%w5iSgcx4rUidgeoT_uD_LvU zg;vT#m=Ge*89}R|jV0_%^-daUkCQkf;dHu2c14d%djU@VV;HNAg#T!RMyO+&m@W|)y+M{sQ9T@&6Smn7B z@qG+(l(TG~pL{Eaa>sFmw7qEolwK~_)i?Z1A`j+xi=UGb7xo!H&)1qv5=O|*n?-zt z9>oOcvUcJP@zaqq*B4ouqSmBUD<5ybLD~I5O);-j&OkP!kl$%fc#pRrCb~Cw7!)7! ztSxz&G1d5OGVE-m@9ap2wtz+%+Z|C7v)}$v1^zZ=9QuWW!Z(bG@+gVir-OmG4SnGj z5-5n4g^MwvARtj$kReRKZ-+MXWXq{xI01xwPd~4i+_wHWaVh!jr#3>OLablZXl=nE^a(ojRN0TnXYK! zhFaTsv8^fIHBZ>r?oxXZmR}b>*M1&Je9E)2Cge0d9X7iVL@*X}K<$NJzOKZA7EXfd zrbo85l?|s3!FM9TpRp3mj;RSg3_1-8(syV)ImZ0^z%|G6-V#H|hqkc8b*vN8-TuS9 z?XQ*??Dl=1lZ6MHUtQ&!EsphF`5nvqOItFjsK<8>$=23W zWkl}5NtqRv?F8|_6nU%QW6{)r7qdwaedILFAAu1Q%Upmd#jndoXwpSl?`u_ExYKr) z%WO)ex3x68Xe=9j`}rE#&+G)@a}-H)Z;Bq-R%c z+%;~c{KDt%CtXuxu@`S~uprdy7MI8O{rVOv1lVB`+I!2j`4OJy6ri?&t8?GiqocK^ z96KAYgr4R*tTkQKIem;4E)tA>AcY1$*moGyqgi69m+9pk;i=y1rj+uo`pWkK95CIw zDqYGDBs-E@WHZ~^_>Rkw-Tq}fDWW12K#!Dp4w_|fv-u$C__b%|R|AwxZ=$UU8Y(D&3bnNV^ zQkNuCJbVB(6ZfN5FlE)WF4Q$A?0xe)^y$h()|ecm;Cn^}!w~z47x=2+ph-_tWPy{G$yYx?lh%q$2%T5@2r?GLiuY45apN-G6gPs6 zeGw&kVK^OEMu*-EzbaSp^T9{eU;kw6l~q)rOtWo6IAZ)r@jzTQ?WYe&zKgy$y)A)tZ7o%#!l=6GW5Q3Wb9m8jCWxt$h{M z;Gnu_Nh9h;l}X}qljYJ%?23OY^7^dWUp(2EhUm%YCoY>>b*!4X07!!d_KnE^@adyt zMnw4eghd`^k+L*r`-v@!Ad3_gIGg>_{-SeyhA85cyLtc8iF@@A>}bGw;Y-dnAuZ8H zlb?Wg7F74|kgNCxaBtk7O9=#SSKJO@a$-Z_U*0sI7@09)^*CeOr@TW<6i|0uw8Xzq zp5$C`t1NYYu8kHOivRKk7}1qVfEHtIWhwOE;{7RDFCfFsQ$^Ocw08?MGp_pDL_D5y zynSEZUD7+)(C8 zyPw_zD7cX0vW8KzMw2hP$mGO5fp~u>;PktBwO2tE-2B(rM9(4L?vFo5#oXF+PsqpG z_8wxyifQk;BN^-QSV4`Km2c6ji=ldxt(8c{G+gGeo#c8xSET$CjT6u&vgQ#&(TNp!gQb?_TsQ9KTIr+ZlHE?ifzQq zHRVFVGhf&48+g~)7)!a#Wa2oT)Mb2&&-6tX^?S-vOQ8FrtMs^4Q{m8@dOZ>0E4&g-Y|_z zSg(Eh_b8N_(h9;VTpazcKHc6M9^D8mRW-&`qp9?t|8mwX}feb0v;rID={#a9J(@{Cel* z46mo_d#{A~>R@I!q=jwF&WFkUQ<@z8am9rI@$y*Sv}eW?(PT3OBLP}ce?}xy?~3vQ zS`*AaDDb8A#efOlEBAembC#5scP<849zrO#gNX{g6T8ot<&1Vp_KWh^g88D@j|wA} zXuAfxKD1yt9)B&C`=k91&$1h1B!2O%bjFD-LvkVUA@#DdpMK(bJ6Kf#7KY5(gd%~9 zDYAmEDG>>-A)LY4vvQxOYCP1DcOV0V6M?zvn#0o*cn|!PH&d;QJeOec#A^Q(Or~h# zqW(&kNE*^7+)m$l@#0YEiZP2=rZtYSqmyjj zPWngn6XdY;5~tXDVPw1%v>^W0SaE0V|EoI~d-Z6NkP{bo)9A{V!C{w*ik-ACZwB?_ zuRQCFS){krr4C&4abr47dOO$H@u$Dk>!PfX7kaT=qsU|_6?qx59Ni-m*X}(+85k3BL`6O=-F;dzjh8;G0eI2{tbfT#m zVXs{e#`r=$63|urfI8_Lnt>ne;l+sz0KjVgD|{DS^B?QZSwSH))c9$Ph*I- zpeYL3kS9vbXIh&C&^&{;T22SOZU8bM9I~Q1KwhlUXBl2!^0}sZ6*V=1fk;y0d78SE z;~Yj3AeBgkSFICJ+tvy8+7~M*9dEb$ zv6xdqx}tC1l6%%$*vX^2@F}wwLtTlNT!kFJn4Fn@KRW{@ZM z3R$=qG#pFttZ>v@R9(_a`@SUhRL>;qdjrv$JS zly#gxC3V`RgYPyO!GC=bL%%3z1auL}+UH+76uTTKN3#-p7&p=C9^i-veG650>h~8y zrMqXA!y-^=WbT&uz4QPG0u#m4W|R6hG#t1c4^IPH%RrW!_Z+k8poZ_oDddfF>{y`q z8L(FCPdz{?V)-H0f-L@+(I7W4fdXZh-n95f#TRHje03&V@#lsCUbpQ3X8ePgT-Sk# zQu7MmJ%zA<;Nm4uBXPG!)2j`8qQ=PEslXuVH3a;ArX++0lj%YcX#C=m>EgW#w`|PO zh&VbYu{BA}1xc?BQ)Z3u4a`Wj$o-Fmg@QLF8{X2r(`n2JaVS3yL(Ov=Df%Br1XH6* za?6*>W8PM`W~iBWg_;YfBD;|8mrOVH)zV2}KEfC-9a$`R9~}s@1_phhZ??(<`4?sv zj@M|cQexn;0j%0TLll4Xx%~`+$R<)GD!SyDn%TOOrwv~N6(m6qVtmU2?G8%JC@w$< z(@4=nJ>O!p_&^UGzR5G4SL=*AJp_H%sUM_(zc9HkjTt2*LB&-Xs8Sqtv#Q>QE$g|g zft;ZU^Wn3@I9bEy$v)4r#))c?t3TX8m}YO4_0+saHO@$_2#Gw`M&_L5-3@)Aa6;Tq zlhH^I40t?$JZo5VHhnID8fO0e!SSVIll1HCOi+T+qqDdj<{8G=p@Pa6I-goBDF*$! zyMm;Jz_@!vZMaFjYaIuaQnB~#zm+RBCD1-{31-8Be{bVWx^~nggz*R`y}kN4DCAOo zTA@eo^M}kMLYF_fy*`hNV_!ex{nui%usgE!0s`lEBD6eh%H7ri;$ZBm9^Awp4nvh+ zbc0ToMj=>{!2p7>Nj#}ra4dGa#JRHxAZR#WD;a!y1k!XqFbw?m+>mj<)os^X8iu(m zta#Ht%Y7QLMo+3n{-e65r z-LMp)LwELKBK+OBp_)9vyYB1_T_+vM2`ciB3R1GJtTM;wicd2)Eqe(gjV2jX@ax^v z$HzVnw7rVo~9KX&@s?JHtgW@Kkw-$*++`!NX1 zx)?d-wo@CjD?}4IlTv|JXSkMK$GG)zbw_oWY?l!k-3ZP}XehNpUMrmT`3V$!t{~n+ zEbMxeGU@ggmo4CAeW)wRI_QB3JYp*1&8YY6#tF>&Ef z`=2f|P}p2HJxlI(@o(c$zu6lz8zvO+_Cr^>z`&#Otj8&8c`UX#)?-+q%TRo7L!f>y z@dZ>DKG{*@(r9m}7dl__FxugnkrRmOVk}T=>MpZ|Q4yoZq)m&(oQFn8hh}{3Xw~%H z2Vy&e9-~pCe`dJjJA+F_2W)0Or?BXCAE2*gD_f2_ryHYu3nIZgy#7JTGgJ^+ zghbo9&5NAq<6Pb8R%S>}v-0;pooGjpIm4t>@A$rdvS@vU4f_o|{sBqKk$;csoM_P@ zK3i`B`y6q_-iEYG6?XT&>T-?FJZ{Hvjjv5$=T%)49)Jkv0PfQRH-!J8ev-%9njYq& z8|I*n^;It$|J-xLN#O6kA5zqndJr-)DsznkBoXv_oZ|O}<=F|e9@hAr8zuGSt`82U z2@NK2B)qd~kM>#QDuf5KrrLC-8IT{L-O@^bOm|8#Nihg)C49ebhp-R696SI4XI#{XxYx+RdIM>Nm%3gW7ks7=`+rn!mgbVXPv2iv z5$lY53UrKQl$R>nn{?`a?-B3*8FE~@u+`n`9b)x%`DQA!PV#%Lt1s@>bX)(-Uy1e+=GuDuc=>BHvC`i&mbtsvD^FH z8~>(b7IYLW(g(;Lrx zh5ftbh!qNvp9Y>fOK<7LGZdB#Fqsy^ZedqjmrMHD{raF_L1En#JgabFZ7P%d+fs}l z&l{>%s<3C2G+3kVrXmozhsto`9+2q#{DNukjfEO&PUmtnWvcGnCeBoZ%B$? z*WZ(iVY(ia4r!m67*mw+Uz@ft)gJXm@n=UJn5R$${opt^ffmF<}^!0m2=_?4@7WzajFz zY&{&wkLFDTlJtwOlo)crO|o^oZp`)H)^GC^lkQSkEXALVbO!mJAD2(Ps`@DB+Xa3= zUP#yQ*H|Vu+g((j^hNGu^Z~qg>ldM?3^PP5dum=6r|04HIv?dB4!aBH#xa zrT!AMVwB51zXt8kEq*88ZC-y?MWx`V(dV1qAs0xOU8BuB4c^cVN_0FjEayHzE%HCu z=$f8W9!xlNivpgKh6c|3^z(2f3@qmrUDV>v5|1&mGC+R5|erN-DFPHU3lV*2F0yDWEy@-_Chsok~ zADJ_!=;Ramx`F09gyOyW?df83bo>m(xKvoPbH=VZ213}*{^A+shnM6f!;}yp;XOOW z=F{@V721x#eN!pR#)J&cMnjvazn{9D(hE;i{-mVZD$I|wb_)V@XLXRCa@S0a+I%Ht zaM-BsF_s7TB4?VV;)GH43y!tlta2`x6~}@!J0Bf_kY2`%huX2?!5rgDnO z)ucqUc#*~{Q`|-7XgONB-|5g}SIhdW4j+YgaqboLX|N=|?V@YK$p?Z8o`zt9D4NeL znE@FxUhW5;Re>Nml^@(IWhrS~Kcnwz)X!;HQ;}!kk(A>&P}e6i|lIxM>zpds`Q1y{oP%C;#-$hZ4cZ zd?JxQ|E>A<^H<$k5&LD8!fl&gp9Ns`A15s{2u4=1N~_hgxQVJ`{-4?7x1{mXu-gV7 z7o<3>N|nBj)|LI~ymq;Of!PT4u$FuLnztkSOSw7j1Hy)JZHkXU$XJ!#B4<^`AlsJD z{@{yUNHLfs4QD&Gj|2lwBUdW6)i3tht>C}^?%F=RWR^$jP^=wO%hf)QB10&{U#y|8 zJZ^NP3i0~q1td0zeN+6#*1>!@GWcyHn8x34l~6LDl%ttKDgXH(HETC>3|nBjbIH7i zB0(%6+cbmb3Of0Iis7VGqn=Z}qL`0cpwNXi2?{2b`ilhZ)E%LmoC-*H)53{ktktPn z0VDu+0NKs6NGOG#=DD^Q0_&XZT0G1G+%AqyPi+06zA=_*tARhC7wgXYv<@oU4P1{s zMBdJ%3!Fe~u_Q_y46br|{oOUjDqBccX;ZTt!2<>LxU8Lmfi(kN!xxPS)T@n`PSv9> z!Nq^wGVC|$Uz_E0#M`7VZUZDmF%yj%pH{;OnMAnPZGgv%fV%G%?|xLBnV&fuWbks! zKRNS4H^0&6r3oNlCJKjF=GgJ!v!c_D+%b<=j6<(hd)6OeOd6?sGLa_v36X0yG8}lm znrAaB__ehf$IUf`Tioo2r1_~brggGjFiI@bwhUb}fZQqG#Y*JfysB8_z`5B#Be_=n zXk@s871abxb~9F8o%!$6pchoJ*h(@X1R?+8T|=lehv0ZJM7Ss&bT$OO6HA?8EIbtFa61K=lP(Nfeyrq5f0QK7{`7z$hO*|)=QS3Qal>nDD zEm-fm2MO71o8ly($;p5VZk7_MY-)H5FY=7Ee`b8tl#;!nVVC3Px z;Yy{^Nu9k&4M||0F*ePW-`(Bs$raTleTeN7V|j@Hk)c*Db*|9<<@J9luBnS`7Fa>Jp@gT`-#EFmWFnA4-O z5Xo7V6|}x?ZsuU34R~Lk;!C4{nFCI z##j(dFp{)n%m45YJ%r_7!ZYR6ZVGQ@U~bNKQ-P9J=Vl~5{!v}S?ZcTZd|XR4_Uy{o zYeTLS+)9W)bHK_lQHDz@#J&ju8j^_E;U-uxeL}tyTF9)I7 zcT95hp12Aj!t5SK$B>HZuuv6pC|Q?(NkLmsq9S!LNUi^ z{xc&S^pcUM&FFrx-oDMKTH}^fNpWwO%HIix3CWo_Pu{wh;)5I~aO^6w*-14{qu509 z%#?UtMsE!7OX07tpe`BXc3gOHsJMHNEP2-_s`B%hXdpF5dy6N$u|KbSKXXcdc!2~@i+gXmj!UM>L(+)x+AVE*M3&Y4TD8DEHcS`Yk3Fx!8~ zZo;=~x9Ot-iGU66mWtDuW%?QZR-t)K$%E$}*xUT4__6*dE@^FNa|7r%woR}atBXG94P&HQ z{W{HSYtL=05S9yp@MAh8Ik9a7*VB3qK4s)Qi^-qjprM zk&r*y1f8~Etj3}6M7OHUa=t-VpQx+ky{Io!S97PS^+pO!^8Ba1`_JS7g9`m6(&TIc zNju|t?pLTw<~F8_%~a~z7o#Ezxx%dph{4UirkRwBmigZ`@VL>ohv#e6uHmY#%}xeE zcZ9T-sV$b_GhfQG=QQn1`QC0HNffwB&tN6YdK|;7i9+3y$i8(TO(WZqYTrcZ@3Lzt z? zQC>WF7CH-bZ8D0v6z{kc#pYjp+mzb6p?GrL%&6ux`PN=b9yIl?qUb`@J~aHbTf4cZ z3gw9c@FTIu6$`F=3gr|R2&$k{H(_gy92H*1vSo?QGS?7}P5{VhM1`P;fgum|C?e>g z7qI{dAei&Va_j7AxAS^5Y+mq>t=%IDW;I8%%Ht)5PiOD#X}5Lw`e}n9`=_YncPW^D zhfP!kewcEV^#|=mtK!J!`{&tC!-ybgmA~Q=vjeHsZK8>I;{EQDf5huxZR|?i@hsuF z=w36<#j5Zj74-&Lq9dh;6j*ft`DGZp(G`&GS85gD*@*lfMQ0t=^xKAU6a_^>RHQ+r zl$7pGMOr|mbJ8&w-Gd1TC@COaA{}GY7>!7bMsjowhBTvLgWtRN|DEk@-<{{Vl=Y{&>^mGCAM*PZj4>)jl>M@53PxKGphfp*(HC6SmR;PH7Ox$uHK}wbn}R zf=W@`!F`%Bunbjf!ni-4j5YOS?<__JQ81o6@g;p7b4jc|a+&tpkUc3GTb}LD3$XDi zeG;@84)o1Qelp%R>dDzixovLR%(f-1Jm4~vTj>wK=OF%gc}a9r|Ma%}BNyjH9aNzS zACHb!%YA;750^z)J`+?7pG(RKGYq`Vr6^O8A|TkgPa9SUe%e(@T5Hj-`IbF1Jq-Wl z5@8lcoPvK}pbEccpoH6-Pzz7Z&s@YK9cPr=ZoePGNxPcxRQ=l1vC6SsNr=EH9!()Y zuXMGKUe5Vi&z4WeFV+XUv`u%EXMCZONCS=~7bL3CP(@IP9xf-UEP4byJoE3i|L62; zoJNXMP7`0b1|q}2cFfQ|KV|2tJ6)Ec))>7;#lXV+s8DAFHnK8==i`qPzZ z8ykF_-gjEm;n1dcuX$tG(@==lXrNxZcjCs9Bz;^_;wVjvPOYEMf=^c7r>+yAD1&q) zl9Trp{LILO4=$YlD3#+;ZLq1QEFT-zzpOs2FCK*$E0S&_IslIrfhc zj~%IkLzhX((TmXc2I$u15=~8IA1$rH!+G(VzQtW{7~{f?P>;;lV}W!#q04i`;_TgV!!E zbeDDFM5J~J_TPLq6tYuNu3(QP&x+>hlKl`-z~yis-jP$KNeDAYI)|?rnlK^gR(w4G z0z=T_NWZb|u)#&TpcTwNsSDzV7w&KmURkXZE!bHRp8 z9*~JAO?Z*uA3WE)_D`bi84C-(#zf88q`NWEHMz%N7=2;(E4g!w9Zhlh?lfgiat3)t z+=ulY5?_?~i;IahR*FNua{AS%W{5Av?;bynlRl{0!DL%4p0EN$6ncGu)8Y^%5#+ubzk-C>Ehv?n?oSC89(YNV3b@fVGC&{R;C1Oj~KAms8 zrIGr>4};l%E548v(a_>hl7ZKnHFYtuB%=`uhp4f+*kXMI4h637JuDcqBq;eskP2d^Fh zswvtZQdJ*m2amWGLH3if3La5!oPVwKmna{DtrF9-Rx=zgI9Z*1T#B{~rSe%}Wy_6%H9W_(=$wtuQW0h@kO z#}^5-#l`YnIXRrr3qgC{>#N9KCaIrF9Z3noo-Zeu+=Xy`f#{!g>&JPB=qu4Q;woQQ z{D%HVhL`w{%pU5L;IsennN@)=j#PKmUIgD&mQQc56UyRz!^$~ zjd`O@lj>0CE5zntFcLBuv9;tz9ujGW31(GOUBAeWaKbc}=M^X6lZ-ri-vRhM^iG`3 zqAr_PM=qszjSp~2;R_6FpK>mk{;!!^t7#4vJO6<=@Qdx0*~|<9nGn5DMx$SYy2zOotqxpxl?!ee?guB2@J@w2vF{=T>0Rro9)>Pnb-x`p zxOn9()%p3hpu<31a#k#tmy*x9>{$ijvkgdFOw`ccIt%h%F;b(@%SaXDtGERnqR;g3 zsSp0x<>CIjqP)JNhmpkUMPzx;9al8x4a)~iMQf>lH`%=fdniI04>{9Pl7=v~Li8~? z#gy?HqsSP0HXC0_c$1h#S@$+FwZ^CFZ=1KKGQ~+L?U}eckn&%fTyb< zhDIvynOq;zP_Rr)beK+Z+v4RPKg0L78)vk1fSwlL6`p3z1J{qUbecHJ-HrRO@1%iI zGM4wjS^mF~7wwTQU70C0lEGxZcgM%-k*GPbT#L!b3L?4$*Xq}t_z7h1>HgPH3!8^p z#)JZ#_rav8VsAgN(9@7eL59)9-^Z>{e#Xd$DFw`+b&eB(g}U{rdz_9ibLLaZ9i^WR zm$_lbjtZ|vu9Cr@YKB-uRZ__nUT%KAI~1f!unQgvraKooSTc*&Ox{Jp0e+~NdGl}F zhq=^g7Iggm9*W>Kx|!LFy7q7u-RC?OqYR&|ntMnt;nwoD^Jsj;*=nGZhm(&7eC!7= zPCX{V^Y@6t@wGm7WrHv3hoi6Wv3#js=&wSdC7i$ZPh;FiYk)-n?P|$+%AWkLb7>+w zfc0D2O)lX_pT3hZ!F#;xo5L4;OQ1g>U#QlJx(+DJ>*SW!#FY2)-lQz3Ek3Ub{}0fS zMLE|yrrp*L??7mJ#C+>`710WA>ZE@94YcPX*p58cX^lu_qIL(OaWIsFoN~PV?oe!* zJfs&9NXNPG_6Y1WC-|C|3mfNdV)B7@4U40cG~DUdl^2utG^}f2E;cVel6KYDD!T9v z(suNHJ37>~f^u6>HZo)-B`G0uOZgJq%8Vo;6UhkeCPcRmnT8w`jQ$3?Y*;fRhiS3G!mQiGsz0dwy#^@LMWo zE}+zq52mlz-mG@~)_aBZ+3>@~Y$EV^H9i5Z2 zjnnWgEAE;S@@raUp3P)>ht2bqVD5pb?|UJ>{PlORQ}sW`rsf6VDBK2RNm)Q}?p2z# ze@+_4+py!P^q_~~2Snk!TGP64C?$3JL)J}tH#6c;SHxfP$bieS4hUhKh^ zzY$yvA1YmQ{{n54W zpm2}Jn9~3+!+V~M1?F>h4}u1jpXiafr}$XtSXxA`xX8_--=ReJ7Q`S_+G-rdc!Vis z0do2X|8RWph;x?zln-wv)vR9>H3iJp;S1YE!%R*Pw=||W@9pkl!souzRSI+iWGeTg z#3B6p*0DD?Mpf4>u(l8v=tD^3T%+vikcZy6Q?^-sxpHOhT5uh#gGmChvp?;to{)MC zl#JDO##V~(#9ur?z#q8`LFY)h3aR7mwZLT(H;DFhS!jaMFi7qKg%YD1E#G|7^`b}G zr?1<;CN?|vAn6a1{GD%M0oht|7gbw| zWNc$ET?zy6QRc5)8m{w~@u9wmIT2qXxCUs^^1cb-7xbS4Oi2Y^?c?KBk(0Sz%ebVidAstu~ZSE+f? z`Df>`TJKt^MI$q3w%cV}t5oiTIds(`NTY+C&9m!_V8Rna6u}hc7@o-uf^Mk$c-mjObx<U=|}E2XA=R^qFa z8TD?M?F_dxVXjK<2vjCVvy%$onY6aOVR`u1$GSuII``lqD2+sdGTYY7JvZ`sCSiz7 z)tZyuJM{IR`Ov(SRl5BdoYQh)uc6sYjFt6Izt|fWNq<&r?~!=t3|CtaXOlA~IbXjo z-tvX^p34nY4C3n0X?L6rHSt z?b240EBzvS`rhU~!Y19QrIsD3#3A_3g_OTM*McC@H zYO;Aq-RZ1OeD|G=MseF9BV4k6;bOQneVc*CJH)L6dlYH}w5QPOE_Be`HU`XUm55N^}!O zxb>3eKb>%9>u0=+Z}E&$%m4&U?7Vj8UG}*SPR{llEKfPvH7IQ8LvPMcvi4~&nj#eR z2!NmE08{3(<}|jXsp@^;l=M-zqxnEXJvL;j+MBsPhO{)p2$=}{Xqad(&GtXb^dNyu zL*VL!Vo)a@9;C68biJ<)&c;9vV~WSC5yGwVIdL2&@@W}~Wg-J1#}x!))4`R-7dbYImHuxes^vz19f^3wr!SJ z43CQT5qu1)hj9M+;$3|A|5-`W{E*kW#9J&j0X4lE6;VDps)b4+6(A3DZ38u5)d**7 zPFk6#=yUPQ4}t!zOm<~M-s?p&oN#-)*k8&%uW=6)kS< zNWcG#udZn^`jtzhm6D2Pg?RlSG)Wc0?Wg z&$7?&O=F*i$e0)W-Y0XQ=1|oiFm*BFi)Ie#yui=RW{Ij5GSZ=F*9tbm(3>Oc+JkaWpzT@2es zm*pw?*xA;vyPvi`Ek1Y@w*W3aPm>}(KZl|AS>3%1|ty4FGy{P3f?3MH#=ledBXyx#KZ&8ibF zoF}C34KSpiw+z-x8bEYmr3UZop{I=fR8gh{pWBrri4-tUjir2h|C)NXyQ-D^MIkoDx z8764sULfZ0`|Qo4Ca&I+jFRy^h|aSffUy{SeBJ<;Tzb`@%--2a^($E`8U@&B1mGGQ zB-32$1SD-^dB15i)2+(#OAZyl7n=yKlKK2R~r*hJNg}Z*c z9hZMZbPD+NmYoJ5X7gRjIYAaV$$Y1%nJJwnqfm-K7KXtMK7nVN1ltH@{ZC^L02XWd z(X4*U$`=Q%a}!g5Bylb8je+Lim!h*smW>gYW|>ngLjYXad(bTG!;BafXC)fHY5oO7 zNmTb=>6yxWJ;_!3nL=D0GFmzQTgEag5X+E$Al>7WLymvj6g%P8_w1*UCb|WEWb-|c zgRFN)E5NlU_ne{0;OwgP1!s_P`5WAk>uAf(55_vtUs&6Y zbbpQF!ZT#e-$r#&>wX+mas$}fDQ)YrI_n=xR+@j1hFlmOOKME|yhRf}SIZVJ>L4en z{p>EnI95x)+Qw#AH+;$p_EM3bFV(D`-g;_1DmWoRtbYIcKQb>}iNLw&Sb(N?W8!nq z_D?}&I_;Ym`sL*yq@NG7A!`cH2+%jgxQ%UM3~hi4{5rae&5`;+pY_vL=;XrlVoIUu zq0g`My`|gj%UQFL-L7AQS@3b?t6(7Qe`Hps=KcYJrpWH0-Uj;0(~BP}H}jSud@yb+ z1gzstyInIP6h`IB8?~iqsNH6S*>z<8&}MIZwYYC)vZiRF`<~3Z@R}9LJd!U zY)v?B!YhIb71$hQ8YM9N7(Cz!{f~r*djJ($&!|nP{LNX%nt55Xuittp*GNTF{Ap&P z?S*mLjrdKIMG4Mn5Uuxf!*4t&Z=swu&)iPQr9pp}z*+Xkxdb7WPRcJ}so zzr*e?lj0`f7E8W-sVh8+`r4H2;4TG{c+d5Gr_A{4_4vKMmEeFgnjnSvJIkknZgfyX zAxFu(1>SG=>NwxFE1f1?-|Z%4?Acy-a^79}kIXQa##l{{cK<=+l@X>%tiKW!)VouJbZHnzCzH?q zOsh)5-P=(%(rExB^BzviVdqCnpct(kckS0CEZ@op^OyzciHY84mVRH8+*#rp`YKQt z?F(=rZ@llZ$&k;ylk$L7OQ*m!gT^OccSBGybdojPRh%eWn&2*LE=Iws7tT)%%TYGO z*TA}>hFwpRjJHxA-iTQiT9YM4=&XF)9IIBF8?;OmyTNvOokKd3AJF75&1U*sB*;~Y zC*gYhh_GzGn&b@o^595+YtQu*mn9(!q{{aV%yET0=r}XB=C*JFXQ9`9;opic!MVO3 z78zN4d0-A?rI|Xn(<=3=%m}v|eU~1v*CqkM+0;~p)@E2XTI8FK#{$t6#ER4hZh_FA zy2{F6bWuxxb4#7j$?qY15ntVmOD7M&%UX1o`3;my{BZD%EuZ@WV?^0Ire@brjN&gp zNN3k9Pfnf(VANLvEa7QSFzj5|>w$@mr90c46@lv_AqKkP-f@CeEI&@( zZ48g>|BEV~uxgiSUv6g2yYA3gaBe}So6#TLkBP&#XwN0-`{~?yK#Eq9?MRGy@mlIaX1Qxp5ax)0GW>T^l zN#HIkv)$Vr@Z-|#qvMWIBg(Z3F-Ve!^VSMl9m4f$A+zXWgrvu{DwqUWUh$yRh}O0V zbfnN(LTkvj?rO|R+ebhlDY6RoRI)B51F6?Mtc~am3tN1wi>U_Q%dNKMWj}6VZeQ%1 zikKoM7arh?UUwjZSf5{*h-Bu_GW(M}sd-GUG^7dO*}dzZnDU6JEL|D?t+^LlgWTr{ ztA>Q7EncSGCP~+Akm>a(CPAx+DBFUi-+o--|BpJby%6g7)1uF}d`tITk7~x)lF&Bc zC-5f%gh$7VcxQ9IjSHM9(lmaSDCulTRYa+y4W5X7n?EqMeWZ}3EIa((9nh6?%9~K% zaG`x?=wss~*T@n(7#BDab@_+5G|PAhfh;(+3092t=y;{*$J1N!2bk;=}(C6xf; z2&$&Vm1$hhx*beC@>9*X* z?xvdB0L3o8L{t=;2$?(|lMT{K6<5?X#9;M-Vh4%=7@-O3f0+|^j-}33|ddqii+s>UQ`|cUva6YRrg+EY_@8>3} z<9@o*NQu{L)0wfXlq&OiB6Vx3|H=7A-50s+J}X`7Drx0BKuE}Wea90zM@sXE9Z!2s z&xYLlvs^v>#uNV4`elgoiP5F2DNGnN5&f-k!h7=gZvV>-SLmh9k(Rzy@O+%~?+4GAE%q(P=ZBS}D!hTS2@*Q-pgNbjAS zR{4xZ`WCcUv7ublu_1}W)bqNpVnHT)dfT(H9xvG-(Byzt^dJRVUq46blL+Wv(QPXs z7BJc`W55Bn%%E4B26=z&_#7e(MuyI`IEEFCG?D^1zA;9_U#+gPJ>N3YFHvx`Kiq2! z*AF00ZaA()7kSoC*`YsuSuN1HYoQIq_WavG>}4ig7zFp+b?O*(*dytA8D_RPIGZBm zzpmM7hqR&@I*2?!%%HT%?<43t-B?L*@9bgzPCpNVPHl#|;9g#=HFxdXe#RK;ECbh$ z2JZTE_EPzZgo`S5!N5pbg&tUy(jGSEv+)#S-0z-MJM*XRKQ(1-k zr%$x)8XJAv!G}n3mcQq8fmaFn2UqB5i7VdC{J5j{xf|aPjP)M8x(vC%OtK6ON3SXx zjA&-u*>4*slvp`*s+8Sjo}Irjeu5Z`JkKpVC)bTP7#oB+q4@C^Vf=R#<-*3Aa_^GJ zRO%-pcej%)%pD9xTRUzlIR@gM%XG}Lzb4CZZw@mbo1Dq;)Q|>j#Hf0)dmeV^LR^N6Sy3wqr2Fc%RzKEH&|T+$|+Wv^e&p-Z*!jJhVYBW zQL-7@cv6)sb8*^hfNVK*5y4%c`^38tVO|#6JnELx+Nmd2s+E}MONCZo7|qEQ#gM{2 z-Bzqy#oJJMYq1+43pdUX8V%>$MMJ;(P1b|wAPf+y&^IVqJu}Z3+R)~Bve|hjMA6l+ z<(Z+%ntOV7bK%yXyDk%7-cZ!?8XFRT?+hDTI;eXZ=dXYBej)K^K;gmbCs^mNAKJOX zbWOHG@ZXK3pS7KzTOa&!eGG1@j}Iy_nO|@ef7EE)n{IeJ#EdQMOxsU#h^TSSvyv^h z&)6g!HFXFWkG>s_^4{hcYk#logO)MzRN50wF{RjN=49@yP%rGVL)jiZJXd2<^ds$T zF_FYqum@11^IChJy(Bv!_zFSrnd7^JpYukd_hP=Q%Lf=Pc?OT<+{J5cb=v3mL4-4H z>_$F(uZy4N?;n=)JT7C|-x2-Q0d2RMK!Vk=H$sPQ`7#kz`ZJ~n6-_W~+#ubW>GG zL`aTcjWf>=MsS}>C{Bv+fLnUgd;;I#FU0MxNofxGS_^g;83=mH{U6zYvdoY{bL_7s zGpSdU+`eTsey(PJ3%d7`N=(a+8h7VKFg~J}lYWwlC?OoQtmVeGIsFgLKZA{Sxh=7! z!f!ux;vjc_2QF&Z5n+@@G z15er29!;9KMIpYnyml>g7L)443o zaSUGFJt(b@U0*LABe}f#vhJer~juWhgqy^Yy361M|!q+BM8>~O>$MSrUDIlVkd1T?NqWz2ElFb1sI=R?S z-z%-_gFg>(3fyp`?_aZF9Y22RJ`OpCAAgFt4TDEgxB+OCQHl9%1t!@*Ru)pM9FyvK=+A0UPpCR;v#~UR^fF z3wlr>q`t{Ki@#m)1An~p4MS|t(pZBN6w>jfDgPEhq!%F{*5G+~H1sZio#A%>$_NyH zQi@q8-!#rPIbo;TYXHHO-3NzGhP1%ft$`&hSut>oiN zt6E&pZ)@4(g1%>2_+3(<2W{SeWYGuZ!*k_5q*w;mZ!`x4!acB{i|=X78ulr)0`^bk zM}^nQb8V!)25b9YOmhT&e7tvvu@mbj=@n8{ZCV|3~)cA#1wbw}LqJ%s>X9 z-^3@UDc5>6Yz~{tlNdHbTb%ou=k7;Ar+{5zd4}GekX*iWM}Wemcj%MZdV3)@2*9s) zPEpj9W#RjTMD$m=i?1p{c-=RCS1I zU1zFYnnWULY6_Wvw{TJ?N_Z+sF4Xc%FW!3lPmN^Il;!w|*|f{FJe7YN8C$(ZSELQp zAnudyFXHCQ&1>od#i?}~seG|pd+0tvoohKtteMPtqnzPfIwPwYu`1!{p}3mT^Bt*j z>P!6u`7Oq(V=?DDcb?FPQ^|0Is7mUgPs5W22n1%e9uLv~Q?cvj9*1r%WV~GnHL~B! zRkEnFNVS@YYyLWKs!Rj|{MG_=o%zfY`Rm=fyn5Vq;raeFODqrh7f(=I*Yx3IY$V|05eb+Add5bNxB@ z&w{6+zTTfZ{8&+VhmlLZuqNUSaKG5{+;BXX>6+Zn_YbTV5k^$EKW(pf;+%^p_s}rUQq`~KXi6Ib=u?L71XVOzdx5dpUK-#Qe$8v`=byD9w~i?IIpDwt`TC zgG`Uh!r+N!JQ-BrD-7KpS)b#68oH#jTIS0^du|dA8?94VJI?x#OlWc)C1;<~E>g@~ zv0ZMVXu4@U@G?~o%p%D-XOBStB)&kd&7HdhKDZ-$v zBlqfN3(=TqPrOGow@`G~&}X~>S9PkcxU}fFYd@M3I(zn+Ui4J)r9J6e*?V)Ib<2sc z5rL@npW}vXuwDr^7&dwRG92O3Q?uvN?xW7GSk@Y~lpZCPYY=#Qq}w$TFKS-z)D~St zpG)*8orgLf+~T9EzI=F3FGtMSi5~Nnhca8oms00v6h{O(V6})5v5uqQx#pz?dHHis0kAUXt+pcHoEf-SN+Jx9oBWI2?Q^+}=4%ra}lu=hX`xF!#wHts#k_6RofJNuWkn(~#$zH5b zZomp*m5hb=GhH*m;l@WkzhkbzlqNlXoZ-Gg^zKJ5_uHIL&{dVutLUgqivvU`ye0Xo zqsepRM^=Et5zb?A3F>Zkg=eyZ(|!HmZ(S=Nn=RB)!y51vdMp0YT{o*3Xzw)eW6Sui#?RxeDM&mBM9&8Jd zz8MgRslAm`1f5N7kzZ*?Iu@@jyN|;ifM1@bh(TN1$B-?zDYFZD+5;t#SKm8vgcfYb zgkiG|9V2@n*Ko4>i+}Dui!2S}YYX-coHE{HzA+La44&H z`m$cj2RNO#YQ}%)_q$YB;`ThFD?iamh1 zHZY%Uo2!Hqbo^>NeSp>pHVvrv%|O4U7Y4Kio;^(DC&e8rqg-@9avU!sBYcU|g#3nz z^3g+wv3y3R~e-WEGcPtzvx*Q8D|&3 z;=)%M^)noN0luDDL4i|ii!TnM)v1L%A>~g5pE0@6dmeX* zvEWoI1%H*rh8?+yuOHD8PgGpp%bVG$GT_KW#VuwmX|PYkgeYEXvh3(tC1btq@3kQ$85E%}LV^ zQ9DkpZH+n{JH+~l7wCRT*JHDHR0zvDE@_T#)?$FyIp&&+?0{Bwb$VDpk(LL8hAcUS z3h(bFFFhU+tq;|xVq!ZjUqW$)!U62_#ze+*2;9ZqIib6Bel`@vIHvx&8bT=ua^tqo z{%u1BF1X5ScL`!#1$B#1FWgJp8IC95qTN^v=w&_z1zXX$2T=C70QOJk#=QmR%6&67 zj542A1qa2^>x^Hzn=!|US?sd5g0=#fU1Zd?%QQAcy6~<{q-LF?MO`Xau5Xp*o>q<* zH5Y-crjBwvpo+DbGda>3SJTEpdJV9}n;`3uYJkcpjy!qI(~~4w3ZhjtAkz1`%kjK+?1WURA)J*1;-Cf(5(pBb< zZ{=!ra)ux@DL)npXs7o@C9@>FFXt3L@?1f6fFApaoW|gNYT=Gzj+eo3>!R7|d2udP z*>AQ-Z+5v4%sq2j3|$DWszRw@6714vu}(j0n(0!s^6gY1orj1bQZA*YqKJCi0kOWu zWbki##_M~KVQPCEF%~*N2ypsP6uUBMEd5dhsanKXykUW=_pUn3I%`DpyGOi`A@M5L zDxmN(#{rkSK^4JfM`i~3aG}D9kXj6D`F8sZ?9@CLtCA~R=zCAol1YF?mcIrYsx5CH z_p4clmGoOFK*dYv7A%|=*#qS@ZRf{k=KF38zhX-qAR)@mD(_6bPhLd7eG#bKpHti; zWg%p=3wPP&PGqip*w+{(c{N}CA~u->B01bn^dozY&^);3pQ7qPMB@g0;h@LYU81vp zW+S4#gX|LW4qf)|q!;YRZk5i(H%DQi40zh9yFB9%CQ~iv8vcCmdGd$d0qMbFv80fk zZR-*Ar>*hzA1RSpM1}7o_*(fSXBRH&(`}Hd;}i`X`tHCy106mg*(x;xTzs(jHuBgL zBu{)6s;IPD*p-)D&04?eRv}H=Uxgsbu5WMRx0jH>KMq_^CtIxZWjV@HtEx#WT!Fi) z8Mz`pQE+43a{laJOY_0_x%CgGAxj6P)}Ha`qmo~o&7hy932(wI%usR;s%P#NY7rjq z`V|8w2460X<-<;rdDIc2JgJu>zbBQB`glx{W{j?4=Z8=5oRC<$qx=SCexmXx%&4$tTA{hgnhQ zO4n3$00pzqdEj@;3v zsRh+|l1^CP(V~yBQHot3N7z9H_?Epf*T=Hv*ShnZ0SkY#u~Ay1XqMU&CCvI(&`}27 zzH!)F)U^70@TD#GTpL*Epv?LOozA=1bt0LaKYvx!GX-kic$;W_wN8OtG4Dra-YhB= zO!4v1WScW3Pg$di>^Pf^K&%i1%9B_$y{Y;~FN|gyY&>({$m`7>P^vVM$PJW-l7-Zo z^t0uE@F(O^=;ZQx@-OiZIFq&IDYh^5rfSt+$mibyG)jDJxmrwCaC-S->sI|A6`}9V zo*i5nMAFS0dgZ7ScyRRFqaH9qvpWNkYY1CMZ-esag=N{bpz@^fr=6OS9ptZh{xHcl zB$HBHu$Q;O$sR4GnIW&Gu*rv{&F9yGPw_@X7(M)_qtvb#$IYB9`-4s0uYYDt<|_g{ z_Lzr#f%gtK6mRfdUsjYy&t#mc+466{WU_neM%nJP*wz#Wqi`%kQAh@+b3aYGt<5+t z%fyZ!f&2CVHa{+QiK|pS?aI_2R_igM>Q9IE+1dd`oe=}5<8og?%>63DqS0LQM8Kqc zSeDooj(P34n?E3x9jUN{wec|84iFIb>8%xz5~I*_zcfrZuc4C~H_^9ct=s&DzVdWB zX^+>ww#aN-ZK0_BOH?Bd$ZIO5=HPB{A*cmo(PfT0hzaI#PUaYj1mYy4^nr|&KnQbVn8Ydm2 zH$mFqCf`|@Rk;+f(-z{1Vaf(}o>Xp)YLj||ehh8|PzQI_9hHDf4~`4jTpx?pQz|7t zy71b8)dbOi&n*T<4kA*Yl62rHZdvh{IHZ-i{HNaEoZ83%L9q=Vg>(ZmvV=GffKb22DHAdgRZfW7btpHbKWD%o?Jh2yWFZMTYz4WPQ9wMpGf14gx z_Md5^EgCkB&ZeyGL4O*zEEnq7z><6U$*pxGi)=p6YW6D{6iM3@ZXp%eDoR$Gr3 zUX8T6=@nt~mb87R*Ij?k`my_0oV;sfs4X#Fu9w*zvg4Ltx4Up3Yb@NWMWokE#xTVk zUrr{`;!c=)CFQJWq59W+ClX{q? z2eNt^r%tYLLw7JLb`U(>XOid5Ng4BaXf8GqW?iytmoFnwtT!AhjGYJ3}B>Jhy# zkQ}OJ?%M(vx79s4z7pWwnvOhSTf;TI=;gLkqOhp!bbckXkJiW;8+h=1+ax8$n9|kN zq*VQxe_;B7Xl^*G3^X#MxA-+3xb+@;WA+)7;MPOn_c8!a^70th!V&)nrd_f#spkYdFmhs-_Dx>-5mLaDH;F%) zYoKEU?tfa!Ed8?Hy>4w|ta)Hyes=!3Ac;wbfCa1~3uxA37n-9^5v3_v#o%RQZu19H zE547p<2@}V56YMKBcZNE`F73=JTDfa8^>%e?6f0uT9vv1_Q9DHx{4fbc*K-t1 zyHDts?oQ;Su?Oh7w2x&{mb0<6D%Psk2~RR?Dxb;NmI)X;ZY6s4Zg-n%3E9p!aNzR7 zjf>9qP44%hoOTuPS)=(T2`}2f&%XY(_J>7oZ>zvpPSkD;zid@>BGP^9LkIst%=e&t z2=xg)cTY-B-2)hRS$$=jfi$jlA1T=byo=hu`1Ze2o||87+6CM)vVP}IEIY~mq9tR; zWB0I{)P_z1}*m1nZpx?FAEW(2_m|xpy}o&0nQ&W?w0%cmG^x zSFDyl-UFOrWTZIS;{I?9{hcUta9Vnh)WZ_om~Wv)Jq!Kwn#rT|Ne@**mKPv-6T}?+ zWZo~|B)XeLXn$IGA<^d@@nASjzWT&$V|&|#@%lmB9l-wL&6-^(OA^?v$NGV)$ZfR| zhBcf&yTV5UXwAF*-*$izTmrfHXGBEv&;+r#n7rpyjU!o|$( zN{Tr79Oc>xI)CvPS>o_=(b$otK6RbK)Hlk~?Wy_ToSV;@?YAMb^TGo|Ej(?S*D(?m zzk7>f`m@bOtMal)s8rj-za|S@pd^9u5|V}85WvZo#WNu5CE0ELLd#Q0hid^q9y}Hh zxl6yYtNXsCr6tD&unxC3#(-7U^}lko2LcxOQ+G|VweW$JBey{kMWw%AXUQ4siw!Z` z-*GR3+5Y2@ij&lzTh;vhYWvSySz@fs^<=Q|yBdc`~cJV2L? z5(Nu(1inj-WCGvy+!$26+J$om^+4U8ztq-M)F+GWQ;@)>$k!zldwX}QFs4)Lz@*b# z{Ow`ip|~|<$L7=81F<{Xpk%yj4 z_8_P`*uVm6j>6mTJ}s9_5;QP0Ox3xoOXLf@saS1+B)qvE2i{rm@2$Val6e|xwK=l>&C>S)CToc-I_Kc>EbCykCqLgl6rs!!I3iqA zH9GnR;d5V`275ZLqczB8()hznSjC7J3D+zESdbj1VNhNvnP z8BDm=<=s>AE@to;I`WU2j~tfEQB_zoOwt!Pgb(Eha>VDC#%m!#dw-%}w{O;4-s)-B z=&!l>`H{|PvYt5xvTOX~;VYD=gv*ftwWmS;+S*CU-FrkOe8DJAe3rQ6Zya*6joyqJ zYIVN-uO0p_8m;@j$MXuStHPX$!*0HM_zJuVIu~&^x{99K*lVpsxYn&i>vohlh!NMJ3NqzfcaHrlX^ds2exSht{ zM%?*!+)_vhm0DtL?*NxtiQo0Z7^^ZV+~X95@zY2ej_~5%e&2hcvWjA{7P_n4hOH@L ztY;~&-C9nf8AvH&b!q5u=Uk>a_fYZcPU{OpQuqL}r}m+ZzsH=44seGw=N4#{=G2X< zuW8Tg`S<XQ-eZ4hZP)9t>MD$cT!g_qRR{R zFs~hF%P4oJpbwyPHuy16UE92uqpY7TO}A~_kPbf)t=u^i2yU5D-jV;tuKEg??Im4t z=i09VygsdDKUG!w$c5QBjU~Kh?>8_oE5LxGm=*_V^{b5hsNmryY7|h={~N!O8K5XXf&klYLfCF0Y*G z6Ul{_f=_;;`8@(p8GaPz*^)mN4z?unF%`Td9}YN>-T#PUyce(ZQN3r9d~ZrwIUQBs ztfMvg=5Psy@dlgmatrD0SuHJ*S88ePRte*HCJ_ps{VK|1#dEdQS4nh_uk$drfGO|6 zz+6C1SfQEiL{W44X}!JUg=(v#$>s(5`UcbQLS(c^?}evH)tj>I_{=f*h>8$L*UQcR zhkHj+$j4bXHvh>@mitNPX7Vuvvwk9zWSg1@{Sly()W_)+>Bz_ghx8n25 z*XvD}^)!a0`G`JHeaCE$eO+TYQZ9-p=_66!V4&V~V`UCmgsF4m5BkG=>t~IzE>)@* z-QEHDbvoQIf1|7`aMF~i7^akCb=&&p)gfzqrsNdV=WBO`pPgt74Mi7rTr|uqC;u-2 z117vGT4Fx;QT*xh_xSg#{p)zc4-@g76g32PCA>2vrqz4_1In?T}7iqRFmC*z#;0g72T~>#$P%OTw>c4qq;Lb<02Oyxp577KtJ}1T+LG6N93f>vRlghsPx>E4XBpS@+eUFL zP$^OAm`X`YH?wGA(jC$;!qGWY1f&Hdq^8m_Mvc*ps^x-}7CuG*VC}moGHrYO>nW(mOKHE#nhX3AM`M!>2 zaz`f|BS3qF7)hdt8~ag3Pf?lZpDqXPgG)SNkVX_Mb6o80F#)th@5L3K2p2De*uIay z!}~5qm*G@&PwBm|LIvh(*z34Fh!nk`_DLX5cMH~8n9zz?kj$#|VydjF$d}mJ9?au8a?A9Z(hziebRorLEH_uFhQJ@S zvbT8~DxSlHZ1x%@&Dc*(`0Y25IbGABP_why@kF12+-@Uiz5iLBHfFwqo z#oTD?%nvQxFb^fLlQrzu@Rv5aQYPaXjVvyn!NliF)$Wp#`lE=IK0koVcO#Mg%Il#e z&nEEzr?9;Nf0;fL?v*o+TJ}P|zCo+(#5K3v_C9fQ;q_rL6=3sJhD0Wkl}(T^W85Jo#=g< z-yesn1N5x3i5PaE61as}e7|F_U?Vq~JJ#g})0w9_?*aWLt{{~|dvd%lGn4M|Y}$Wh zoZ&>tys2sM!5!yvB?AtJ_9A22Om`3`Z*kkwuMMkU(#!vuga-;br^M=(--0P{VI&!8 z{OCx(%t;X<9PO~;Q2#SM)neO-Gcn_e6zBUQU@ZLm!e#CqT5O!Cdz?_R(@>>z1s*8o z`XMrt_^nxOBsR1G{pk4jEk3Jvxal2^l!w`f5ghEZrSk@L>`w57enf8ME-YWY@iE!z znV{XN2g$=w#k6h38pwi{ohpQ#mdfjYYzT(!WZX|2s94Cz7#NU^r#LLiuEWB~L%g45 zChHdfrAZ7f&8>3-$}Epv_0qIQU6+7GTcJt5Go9}b6}19+KPkxDlI)d99c+GSlq>QP zK(TmC7NEB&m7T*)TE%SL4^aJ=eaUJGw21lVMKsDKvKoNR?B!!iHrb_)JV1j@+#$1T z)m(_*npQccN?(eoECwKkY;my(i|L~@r85#n51rXH?#4!Uum->8Od5vNqKuj zk}@K0h}_F^2al_amcM%fSA{1}8z$RoozsZe3lS+`O0dVDS8=qhnyl`9n>t~!wh!0N z$3~$K_IF_O*zqa}w4Vooz8N?FmaHj$_c^;i6I)W?{bS%t|CBf@j>DD3Ak8X--|x&~rG?$e`YThnzvJu`V8{3Ab_-aIHKhCx zW9$Iz-B`-Ef}y#{lvqWb=m>x~o9%}2A6INrr?f^h-0G|CA^Qxq4JJ^bJ(T5u7o<0u zE3oNfYCcYR9y_`UTfLaOa_Jb}9gWm6eQ0^+Y+hC97PD%X89hj&7$>`OcCyAc%Fx`u zbtEexxyyT&Xwu;3Vq#;9dRh_6GVrr4G|gB3(PTl+p&vBJ&~0=Vi`qfGiI1or$*&|m zOJuFl=A-v;0$*kVSyIiiR063C0vyQPui5r99`d=wFa)Vh4y67in4a)O&byNoO7K0D zW|jy-17DlA)*TAaU`JRZ;{>2)1^kz{Jl>2IDVBtndQfi7B3}01^4=IOFk{~O*ARO< zbY=JuZ*fkJ0F# z3-a4AW*PB^al!)`aW4-Xfkj!R5DQX3)NB8Zs#aq#oKw?0bSe+HWUiF=qKqjAIeq;v z^uT00`689Y6y|Xx!*_Cg#iY4-1{?qwI_YY;Ez~&KCEfe#KOM<@+goWg{3H{xEg96q z08ah+&E6c+O>ua+<DaE2_4R>wm1>$RYNSZfu=qrgAR z0Jrd+ZBn8O9@YKgUyCj0INS%gr#%-xsoF*|unB~~wW!NuAReBQjLvU^=!Jw?o*94l zJ-ap{J6&rD1}*M(Q=2V%5E#qMCoqzy5j*xYs1sjS@8h(-JC*$9)75r~IR(vpwr2v} zVMb^@Y++jQ`xNkI1IOp3ga<^&MV?G zFqF`BgR{!m>Vh?A0y0!jEccg7##n?}5|=cc4uY{XE)XmA&s*e%KIcqZiD|m%y_PC` zU{~BpO28vB{8%m4LyV;Dvyop3sFkRCx|8Fx*m6HdB;am)3ZRG3&LYgF8~1Fb>ZK3` zpWc{krB;HamILq98wvbJMkZk9r6uGeUSqkn<4Bjc^>3ga{ebo^%rh6rbHEtF?C zLlAI&Rx5@fRy|=~H)uqRJhlx1^c0?Lf0%mt>3Zj7o+s@)mVXV+8JjD14i3F!>WW+1 zp%Y`6N&B?PGH<(mgXr=lpM|L+q#fneVnu4A>cwAyBv>bH!KNnIi>mfi!?#JdyoZt9 zGw&vlAF>k2TcjbL0Q!kDovw-v4PxRl49}nSv)#RMj@K$LWuGZ0^o^n6&c^fT>R3CD zoFjs*jMQxS-#lmANtLCef{E5(T*?&IR1KcN)S?^cb6oT!Rr%+S2n9mngVn%wXSK2i zQnFU2R@8FXa?jqI#k^Y@H>9dWk1)e|d*UjyPi&tF#HHVwdzO8Le^?Wf7FT8P%g6cmE=RBWZ9JI;0u3Ap^&_Fgm`}y|MYr*_;kUz zM~Ia0TF$b*_A);JrvqOaOW5G@TMCj)f>Sr!15#8jz;m3~#Gx0tHWv)YB&6mH0X50JUc zR3!5IE2bpJx(5C6Fo;K5_^s(g6Bw<6s?Q>pE?`Vg9rD<-Kau>_sgr|WYb*PBPQWS( z?PTXB(25s|YjH)O0PQa=Rnd}Ly`=FS8Yvh6t^MI)HxYIrIALz7RaE0rQjwI$@j?}S zgc$N5J~>HuCmr~2X|b}EdsoN`+5gCLP{O1;+uQp@#uIHES6UnDR3kH2caX3V8+`>J zO`-RkNQ5TCOWl#^?{+coP=hiu(pp!lYnCd{q;)`lT#NNr^j5ZH5M6+LfdiPS*Fnu_ zAJlsz)EhnAG?SnrPZfp+z!mG(>n>g7p*Ayrxo}k>PB%3Rx-(jq@s?!+>@k5hND=hX zAe{-vlVE3}WkKR?Op`<$i*FYSV0fDyr+Z6zM}Iu<-(JPww~l^y|( zA9lON>!vJW`N~;=HnoC-sv7OXt4`ato$h@(zY_N0rRsjFr^e7{b<55U#%%YEyUmyj zNaD%%m5a==rhmC9&rid5pB|setP3#HKfDxkR}4HV9&uL+8?GkB7#PYvXjO&MEVQ0- z9+vv<%<+r6Co}UtPG*MQI`p#SB@LCF$m@Ss-;_92q@`w_8Qr)$J-(LE+x%1MR0h)= zkU&7$pOBzb(wHGP-Ox%B-ZZ=LE;v~%bQ`BxO*y4^wvuBO6j2|)W^>Tb^-&vt>(j?V z*?C{)Hbns`b`_~8L&<|lU=v98+Dc<&f8fu?WOk=!M@?K4&Ew$Cd73&x#@c*T?yKjt zHF5QA_dx}a_{GMei+{ROKgyl9jOwFj*xwVFSVgf=wJnpeuaX?h59pY~rmX_a&^slf4D=zB?Pnnq|+k(?;T5*1iP;|4dTY zmd;p8f$oXjf(0%#Y5El!ztA)hW>JwjTc$WO%H$5piG5LJmJ^c;ejXVCd}FE$-mK$r zT(DGj-WJHWd*+Bjco7UHL4>@Mj~$n!gxBG6U;p$gfiDX7nuINmn@II!+Vdcy$E zyDkb9aKFZy1}Q^uSvhON#RK!ykDVryMk~F- zxU3XE-*&0+G?jnU16Ns-uXuU6C3b2Y3yPa2A%ENu?V%J^RK#|-nX$hL2J)~-C=JSx zv}r2-Df+462FwziJ;91=lXus-o`{v1UI=la%+?hOI}IB*XbdGM3Vlto0H-ayl&5>f z+7P&QruSH|A@~^VC3NYpQmJ`X;wC=y3)!3tZiphi|6#DSvbRIN1*704(*n1 z|CrVkuMqRF2S~1VGEbil-G%H>O8S3n#e7^{zi(CG!q7i zD+u#`^1A3WK0X^U1<35T%t~_UyneQ)@ZwKx{-V)+O)B#j_e1ZL2Ob*il^4rRtXH_G zf1C)F3Wy>Lw2oJo%(91mK9(_4XE#86BN)7N{&Bda%lmB`|Bm%ri*4&b0AVoA$9>AA z_98=*%i#w`c+{R96gVv5Q5jp&JW;)0b>^fEbn3ID-@Ozx1v6`uMlk1M~0*76vAR=XpP(Sfbdtx%SY zZ}^6EmM{iDwjU5cngiR9qEuF=JPK%FM;muOjuGNn@r{Uh&yd2CZy&M}h-t!#WVN3{ zH9}nZxPt-m%(s zTY3Tr#Bj&`HX3CfnH5|+?&nwkC#B_CTfn5CYA-k^2pNng)MSyh9+l@>)Ff>Tu41|4 z1yV+Ch5QcVn=VWUJbt==7?2`VmSB@Lv3c&r-;|>n+%~qtn-x7fggleDBA1u3tB<(H z_IF<}vd=c5$w+44quAtCshaVBWKpEDm<^+hDPv@Plyy_88s|%edQf_aBDpFcJ7_aY zPq%WV=TK$rjD2B*m16hKk;InsQhl~jj;B&e$5!YAhrLcZ^$>?Co{urho{z8Y4Y;hg z$l#9e(Ra0%z93yDIB8qQ-iba)u9{v>kri_F*?J67!FV}t=uN1u(12!{DUeEhOAY^O zORLpb{S@z>6q-G2(%ecgT{lGjj7@uEtDPem^CzAR?#9te{{cdZxx6(0=w*B|6jFY> z%|JB%lMg(bLcK1l9t+$Cl5Lc;T{OdwY)q3`Ladv(fuhM<#YwiqO(0l972XTh>fsVmp6HxN_@J zA^Y0fA2$PL<|H#?*bK9OIsl0;j}NPj_I!~G6HIFaOSaLzPTH%FO%Jnz1amj}MlV$k{um*0~<&Czl02%HY=3ne8t(HUk4iwvH7Nk+jX-q?~W$aE$^FgQAMw zLFu3Q3nMpRq!ODyo@!!>h-x>|C8L6vtCpHXC=D~^>m2#Q=f09QVgoD3qf2JQu=ev@ z^)6(YQN--3Wge-#JL_n{q+Zdbxy-cbNc_YXx&_*kS;zHx$n1=RUd!#9lbTQ5UcsRp z{uxW0E5keK4D0Cnz+(jKB^|zrSum!^nFSf^;vbZ0_*TJ(y7wBn46ISfnWSj7V(jm0 z)=m*C$7MxWkgznEQdte90W{~IEN%jQn!caajWYBCfM~Yh13~o-+q@0|dJD8(%e%a4 zc}Ai=Sm+WkgXrMplS_dO5Vf; z#U^v_+GF_x;;hIJGfErhEEF+?O3+3|7P#n|nU@wBh@xgOF3mxns{?u-vkLR0T1qGK zOzwCmQ`IDq88_G4is}k%`-vl7I_hc9k3t4d=O15qBdHrt!}BE5fYpk#FU&@+{+gl6KX$YiEY;uwg-*Tk*I7N)Cy4a*LcM1L;E zd`;Ox|J(ppEBG;3-EoM=OPL^kTlcXA{cOJ+$f1#89)SKJX}h9VkK=d2L@XYX)P3#>E?5=UTQI`EATjL9*|QZd5!Rj zPrp+ag@}XlK0`P{HjHg0hPk)pE(vPToRp|V6@Z<=u~JHPiIS=0^=5R(zA7n-q^Lzl z=_8uAEctegvvw|Dq2l&obi7JWVXvy_?c7z~sf=7m$C1OO%QB&@twfAXc5pLFIgQ<9 z_2iQ~dnm{8&^qE`Wo@{=&-II9m%EcE!_Sb5bE8b51hu29yQI@r07NL@;l;hQ>tM=` zG=7N{!H#$(hc57xIajRG!LMaUVjKh;lznIP_7~MPeD>oTE!X%pSx&a$kUuZbv$h+$ z53255)OV9mq(Uz};|Sp&>dr@ln&~`N57}Y;29sq8HJ`IiiW#WOpt=L`cZ>go_1&na z7#}$(EP7~?`-&-UCUd4V{UlONu>HIF3z zi;aa^;hU2&(yUF4#V@8V>S+65nTnzL{-r%@d3UPo*}g0LELd&?up!HGBIWZ49=Dw< zYat#>0$nm&haD6o#<`XCB`wh)pEz|A*fQiHtw}w)&_JCHza97Ztr*N>St}R<=DpNq z$qG1w2ix9bQdIbBe;p*SO*=8Qh)-Dn-866WIcdy{Xqc@%sSKzJuwiPmO`_MgKIo^Q zp8?~*egBcUsV2v|b1O6kUAWZ;NepS}qn?<2N5vp~tZNk%OsBPAx;ilvh z-mwp93)jDG0kaYF=2tr(dnrIf+Ow{}0=Vcwixo&a1;=N}cgES%rCb7UDNsR`pOL<; zw`mK*Az&YsVn&H$E|2MERDSBvb5@Vw-k&XhtLw(OdWw*zk6Jbop;Yek!a${oKX={P z#eCOpJHUe#y3k*?$K+#fUdh=dn`1jkcVh?Otb#*J9#QXtMyhZgM6+pRDLLdlSG%!i zfs9S9s_w4(Wk21U=Xl#&VN8)(wj;*^3yqT(qJ28V%a9|4b4UWF*ej}5($Bh_cRq-4 z!b=+Vc~hWFkH3Z52;FyHNb&$Ui`GyGpg?u9*p-Y%;I`Ipmq&sxh{Lnzi>_sA8LlPu zG62z;?{Zm7NPX8_M{wrB-!rSO>!+HoyLMNYFXU<1~qd%DId-n?F zCQ2>+qvt-deRIom4PDxT^=1Pv>2U4*uonDMBIFCS>*?R~fF>i>!aiY#Be|zsqvgSo zwioP|uX6@v(_SUJM%6jIHD4<<9B`Pv?!H#I9!m1q_F_yGYb%U({C_d@kZh>kfF-_N zW?}!N_*v^`9ouTMaQ1pHW0tY)u%a22smp-!s`$GP{u~6XU7jGM>2x8vs$=` zusfIwQU75EI`$XA7-Xj%@7U@U*hBN`d$30U4?a@kE1#uZOROF03Ya zs#U;Y)peVaD9(pSSZx_zOsC#%%-`q{sKcCAfNi^g6{skl(f%;Q$_tvI<-D&uUu}Os zeW@sSokBRcq}-!Uj!4F2d>vmu^iMPce(Mt3T0pdqXPxDU#i9%k71V%&?!_mgIcY-w z3R2EO#oP2w7)PIl&Vn;cmxv#i6Nd9a<2lzQ%=cpAb7PfRjA95~nI_H(gy)10lzaRb<@# z6UK&PwKIw($IOCY@%`K4?q??RaS4~m`zwBaTd^aB8Ww;B!(!HlQ*MMAv4HpXvDcCt zR<+ru5l{)D;UIRw5XRGhub3A8C2>KS!`yEpxce$6$)--^TMMULS_ep|CSpkBH?FMA zhgJMucy2?a)AtmGmFS3bWJtW;y%LSB!cA;;KODQ}bI$R!Y_ONv_p;2BHsA9cBks4_ zK<&AF)~vMavU)7dW4mP`&jhD3JMPR)Wjoxkz;v6V2pqFG6DmjGK{uVbR!?VNT|zVI zbCJxGbm*8(gU+^*uEn;FsjY!g4zEJ z@j&$WPPm)%W+}(4+(+jR>zK(NUQWq5{=007xC)xPtQhB5% z&v<7Wzo4R?#50M(g<-aghM!+z8x;NFZoD0$oA0N44gf;>pFpH=X-Q)?2Zk%J)^3uv zYes6Ly{XSbICQkXQIwFAGULp0%^B}x_IxY5*B_V=crXBJ8>*5BGN|fg*h<_miCX9z zAYaJnUR@k$Se3m?u_?zARnJ>-rk@)5kJHS;M&2wyA>264+Fq+{f)o!9*&Nu363WTh zDIMHhnQc;4C5A0hvt1L-HgzJ_e05)wbdGC-si|P!s*G8t9q5F0mx|#k@W=V(R^r)W z)k%~Z!coB0dvn_+A=Vad$!InT)rnZzGLe#NGObb3bk42&8a%aR-Ep{KijS^--4xe1 zp3!30BT;j5__}heme2kzY`o2w{Bx>Up4ptqeDcDP0KwCt%nisHawkyQ^<5rG#KzW!7?rUN|FU3SRiF-G&FX6l4b&=wfcDvG1 zP}4366xwQ-b6oaTw=qOJrX9v~X}iGcXCcy=G1}yo{f{-7OK8V7_&15V3r^U_e1VeW z<+isc@QZ8EZKekF2UOD;GH;qmtP5PsNKD4(+>Yi)e@;!2LOdFhHp zrxg*JmV4)1wn5dtur*X$P--~}IAHw0_f$7Dj zUsQQ$1g11Js}%(n4pnXUg47M--bK(mP_zU&Zdg?S_LQ%vy+Pw zxBQ+Rk(}qyl(R>9CafZnrusr`efM8}N?r1O95O5CfOY`RC$p#zk=A@xk$otDQ*F)~ z$FPMK@AZJCHos9O%Ff&wx|4FQj&6ggsz7&7y~4D=S5TkZe8co5Y-#!R8+5TJsGPDh z(p_oEWZ`TtVlXZrWg+i$$K8tu=H}(`w9#s`fRP*|3Odp3Hm9-Hq#Zh(e5+F8c6MyN z`rI`=)mOT6S>=b()YToSmnC<*Uy^JqSQuOF1-=RWSy zJZ`x9ZTv^@jAAJ)?9;DXIQr(_wu4sqrefDX%rBy^Yim?o8|*fe;!*%QY_UgOyIs%A z>DzC}7?$=Rht?8oX%&zD@7VANh<2wdQVT{!14Vg{;YJVJ@Yj*627@ z58-7{+RpKlW6a~jn~hTRqQrQ;9r4?Z{YYpbZ;riHC0iM z)q3yV^4phY?($nXSna@p!6H2mkK@*pK-Po>e!`{l-WPK6^_p9}f;O?Dib29|nS>D=S zd8{H1{BNyzCd*Fy+1_c?pXDamU7u~p{rr^k# zK}a#U&xS>e-d=?dx*$-E->?@ZQh#5Y&>Aj%~<-iRpo zY~Wi|iSIH(qme=EE`tZjnnIZmfJwi=KIk)1cJ3#zjq zZy9k?KyfMwMiZhJ6q zkZ)%Xl$McPSfvX-k!m&7SUjadY1NRdJt@%n88LQCG7Ly7!H~Fo^PXPWlXLzg$-H!O^N?C=X-iycML^ zWfEWiu`#|G!7Sb*JzT4Lb!;3M*R?VUJ=7h^8`S1lnL5kZa(A`0yC@4dDr;5+#pN#q zam)zhc$I>syj3Km)k84PP6mL~k{#|$tFJ$X%6;|sWTrAoqX zPTwLL@*Bui`>;rjuVEqx?#W;kIEtC7zSK~OxstZA5A?(LmFb-QH!Y+=g(?qRwNS+< zyH`9GFXk1ZVcFyT6zAQ{(>rKiS7{dE)9L8@FEVEoyQRc}${4z=D49;tl^=VLuf$xf zvdfa{Vx{1Mb~T{_-hW_<#~%hX!5r%IyOfs7rCJbg_+!s6U!>(xFw-sTe?rqz>xXkp z@By&u1%0mh^VYAC*5v+dSq6Oq{`US81{!KNNIcnwe3OAW+xS>#y(Zm@egO}vi7&TQ ze3zm6TM4u#lYhIJFu!g)H2mHEp@id@&Jv+lTxohyZ2y+Jb=eTIwlk2e5kj~2$e)?K zk!?{VxtG*+Kd4MnEWcU;M6NWwa4Y4Ll<9knF6x7{?EK9~Et=)yV;-*2h5T`w{Y%ez zwi8HEi%WIVpc-k)Q`azaEX!|J#U9!p-MP1gQX3J@;7niQeK<%B_FCoB~Lem3alvIW$ z(fvS?)-^E5Jh$6KifxGt>T^0_&i1iHmv9ctUZdw!FdqpN@A5f1J48mxVDr5)(q=!L zkFC>glM=(Xj}uOY_CgSmtNRpRg2g4?Q`?x$1nFt&d#9?X4J+L2zcAv0e2&c`)m}%Q zun`$ASj*uHSGJuDEnLLp{LRnysG6u%++YU2nBN>D?jH9ukNZCP^gXtZ;2fD_KA9<7 z*yhd{si}Pw+h<~Q+B3z|2>SMjdzZj6EZ}a~5_a3K{nvHMwiRhj+MYmeMikN94-MNM z(|ouoR5)WQ>?`gnTt+U#=}wDp;+Qa9T2joYu(u6hdRpJM*x-!KF5I-`&UHEmzw^it zznWET7KwHo7;OahPRT(fQg4azUho51(mFS*r!n7EMs5|7=YT>#aIbnI17?m?=sV8f zjjQ)YY>H>yO&(lM%-ar^ZPGP2#i4xh3JxXjSj_&OO8Gqy->^g?SjmU$Cyg5h+_GmX zNrg$6$dqHr99a(L==t<1=h72VfyrX4HP94Oy`{Vl{n0Ge4$C85pIJQRa-P2mb3e88 zmZ}!~Yx=_YK~T?>>%`CxSug)EEUw z*7f7m)M4X@@1<_8pA)BWIHhAYzv$EZWwWNK%r;89ilJBfUOY8-c3MmTmi}go(w{GR z_x4@A0hB~HM9q}<7e1a^_5Avo4uvFoqnRWV^cyRsOYeV#OXV{7ksK73KV=?J`q+19 zTdP!{Naj?R*7BItIK)QM;X|n|?+Kc+&4wIJM7ckko;6MGBkMqG2eKs3I}|Sh9t6vy zGCNJfyGBP2nmfVr5eM(XS;^SNQ8K5Ji`~*)8;6Rt&OH&MU$1YQsb8*}%qNn+O%zoD zd@D8eh`H4KHO-$t;Hyt`_(VFtA(B+&O>l~e^vE5ks0%k9FSPPrb7H&Kx~sX-eeeiBg-Fqi+40Iq0{JA z5m8&d$mDA%|JBllN$K9fto1NgkR`BTU8CZh&g6nMWiS=f;*^na;!`Sy{t585%>gSN z9A3P>%4?5>H3S(Y6ZuJUGz)L^w%eF)#ug~MUBT#9KY#Nc28M4o^?o0q8xPU19l>TA zMsbZ7)hjmKKT{5M0?D&^<4(=E_Pe2Id`sxwaG8=c3S4y3+OGl73roN^1$-Fc`V+rG$^y$qE+yPh zUvP38k+Ow+*Z1DSESb+m)ii1XX&J7^&H4&`ls|K(EmM5pN_{VvYAN3PsFfd79Bhud zQ2d&hBJWp379Z$~crsG%C-{;7azNoj6f@^4V8KFSvA#aIe~D|UKL|xyyw7fa9Pgl+ z)-Zy(F4oh=RG4(_V+^ZDg?1#lQ4dvVQ~29zl|d;{uJ%UEQzJ)RzLqz}JS4DG0pEML zoAC2uVwKd1SR5`tAfYp+ULjy#80*sEeyaPYs*+dm(@piYRhzuSnbM&yXKm@70HR_* z-jShVwfTsd?r_cc9+rxdCE&x~-neE`Va`mY71C-?TTA*vfb;;hU^cXvWv@w(Jre%B zPXg*1Ez(9IfD7z6Q)kY8(ax@)|DL<5C#NlWr|?=R&VZj^3l+)^M~WEPvc#duV@d;&ZgFu&h%MT^{~HP!`A?K zl()!n-*MSpA{lLatv4SqFmkr3uyRw?Yp989;T2ozTE4g8gYLCI7t4O-M(sv7UrcZt z$x7lj2-nFe7=gsC==svp%8^>(T7%kodk`+#`<9bH9UxyyW#Z8NEZuMCc`S(eYamUt*JnZQF@>JC!3+t0MzK04PY&8=bi6=J1$HnFaSP# zBTmkEN|yc1?4TZF!ceA*)WR_$KXksdDp&oIlBVs>TCWTmll zz~)xw~A!Fc%6;j^?Ax4I{XN`BD- zNi84vA0+)cozl*i)i3za*VTV-Ke&#ze?L^GvKuR zR0r487`N#B^!ba|w&&5s-v6dwR;JIYuxpB*RTD{#JcbK{<)>n?W!tHdKP+}_`Z&dD z&Lk6qob>-AE8Wcz7(pi7GTWT6duv4YiL9Kr(^Rm*j37#wTBlvpaW{1H#z&3;8 z??Q-EF%8~5FxIymY_`vhj(|HP8O^W-SMp{IyS@5jGyH~ULZ(N-kOQ4-x+UeQN}6=d zBgjictIhjf+cV(f%-68p0$L`^s0fPte?2WAjnNxNS`Mhl)_lm z$@*hO4`t<51M!t3zbn7l{jwHKl^oJbzP2dv96pJH?&nsASesePId5tzKuN2kKx4ppW~|tTXIUljH&= zap!j>$}BuyK7iN0zin@-0;DyA(Y_Oq);$BIHhSCAgmmqY+*GUUhHhX%p)2O07&yfB zC@*8s$)bYwxz{1BRgt976>>DK4Qy4bvOjIE;CEZ@dz%HN$own%)3Xp4pBJT?@_?+> zA8S-^8e7nx`%zt_LV`VHT-=X1N6D{Ma?_mOx8Xw}pSE^QTbQp3j}f$BpljoSr02dH zr%t$g#R8=M4b@G#=tZA9oF7}4Z7M~KJ(WD*?>^9%s0tT?_cND{U=J_l^VX$mJ#6!w zajZ#PY5l32zVm8prEe+0V+8-+abk zz8R`bN}C-pgJyN_{k`PlO2+jU2UDHfz78V<=0S=ES2l8*^so7mPCfw66nmYl_)lvj zKZg~O2hfh7yfh=mz?}n6BadcG5Bgp;;R(x)&aBspDU`2E%Imn9GZnI)A|$Smm!bv! zj7#~1_!#%6m0&fyD9W^hj$7U8T!%U8iq7`KC*Dii$f zgXAG#VaoKi(I=lx{L*g6o|O8XSdzBy@h`jdE8-YUP;QNObEhQif{iNIMZ)mQZwHN}%By$}u zxUjR!*Yw$R&OY1<-U|1dZ*4oA8O`C5L(Hbz<6);2h~KNtdJ7(11iytQo#~BpB%v_% zGYj{R^c9X+m=BuHQZ-+@YDyq%dQ9u2j!^UA@?D24Z@xYsz1*^rl80>5c%)>P zlF;G)Jdq`+DW;vwzNyni^E1oqMZ^l>3hhI7990B|{ zPOQ8TA!fFoY)WczoXapRGH1Nl;2j$I0enA--MD728!EHC2}o7C|9QCiO)G$@NoQ}6 zRBVQX(5I3G@qKDQri4)Gl7s%*+v-&lyxv-#UzoJ0Xcn@9|f93qof*)~e>_fl90IL>`*=M+u)@CVKIm)xr(h&@^ zX*#}77mrtLF?`l^+J(Lu{AylNMa^e`=TLKEaO<0?L};!zP$yBpv|Agi;<%lcf-h7m z7q(7%F>c82GQtu%k@!00V+YCu{)#72C|Sa_9M0UP!WOGHpF$|0My+5qCY9dSO?ka} z`;S>NGa%NnPcLc8pMK&l{$$y9=iIN{b4)*Db&=_Epd?qxnCaH#1%5Wg8;V!aWP3F5 zFhRVECnvfyg2Aj)dFGI=8@vDuOQwAQot<-ZrUBpqb@)*YXxY(o%vEaj0cy@`hcwO4@%n&N+F-BjO!9{WS#3sc2Q;PgxY?`)36$+w3L&iYb} zziuagX=d`wU58j|KhqkipV5%YOMBBFY`+wPr885#-E|w%ve9IWduSIM0 z#SVFtQrdkU0_t^5YlR=-lHYOifogy)*bDObw40e!jU32+@H^J`$yZtTH`*>HHq3MK z4=pqxmj*f$kMxR7NCWyX1jMVz-;{J??971a4{M~%(wL;meA1}9?_|h@fdDLfLoHtj zq!{s<71moT5z$dDpV5hOn+k2d+;UX^E+B%+_g|}I$G+S%|Eh*21Rj-Fb$zOH4cYd} zSh^JSyIVWYU#kxPU0kv$20c)oY9nIIH*z&kTNx{1|xMEOgf zznAS<4_vGk-c|Z1Er94%Q#{$zR$c0*HjaFMI5rRSD4Ogfe^Z%W- zSxBeb!kVrq$O$WmmivEEO~TKzzgDB7xCK&b=uxB#B zq4ns5xSs@X5@JkquKsx2?Er#ZytjpKc~<9YQB?~y+zvFFLGM|}C}A)BTmmCDGREFl zqO4mN%*)a!F+;wzy)7&QMWZ|!o2-%5TwgeoZN0MVT$^!AfKzY{F8^<_7sDZE*1blRV(n6>&C8HO0ZXD*L{MT2brV?vD9Yk?IA?&PF#(UGvqI}SqhI88K z^F=obqXjm2AJi^Uc|_qe<}y1TqgfoW2rI?U5_2~T2S%6S0L;0^`+gTiR^uJ5hE zG++0a_!azFy=ra(9Lh@lSRs%4>iw%`=FE(chvzZEtxsLHcN8pJz((%e3)U(6E_q#X zIVWn%u1;=O2rf=TzQZNsJN@Dzxd9a}jSetiikz~O%;zXCZ0d+EN;9RF1RdI(p2+Nq ztd8EgH9ZAF{wIGa2o(A)vLDiv@G@O5u(= z)E^6cScNqUCbEL5%mG1w8wR(O4&r{$B;3v}Y$CVaTMr@`!&Mn1Nby+^Q7!cVZ&FA`iU{9>W#}(nVMKKN38Y)NsSy&*IJrW8sk~pzZq1m z=LwrR>ek^It_h!BPwVzQ7`$!g9aQPAs~Vwk(mX21M3#v!vzyl)&WVqi&)qPi+zCgO z8ab_Qb0=jRY+ss9>Q&UpS3F{zw3H3QP3TFDKdJ%vi5H~X9rfvF3w#|Jno5>$4Mx|8 zgF%J7?ABn4H|KpoRaOGKf_?k8P>gnbm{cv$H_zpaM{V1l35}i2Ay|I#+1(iiW9%3k z-p}M1Bjy*+wkcWq)L*nMC#XOEm8$ydonEc6aNmK1`#+^)0Jlj)$8`UwZdll83}Cx& zNvxg)(Kc7bCr7t%MrV`MeX3MFMN1JhlW#B_k}CmyeTE4eIea$xBwtGugI9J9W@mqG zq{1NDj?+jdI4v^db%3Pr#gu|7SFoNwKb`~lXPW`F3|*`C3Ze)1Z?fd6lxWELS0rA& zNIe-iuyYPHA~1L2JDl*>|4|tn_p?Qsnr*5RAnx#1Yuirz&@gPgNoU828blc-W!BiQ z)mlIQXm1pWu=E_&ZbIVj`neD-r&p;xr6~GM(vgYi352@4DQRT`u!?8dqyxc6 zAQvZ+mJ}c3e=WSRAMG}bx=rUBL$5WqE}7V8dvnkxd{>fbx)g+f{sSB}Da`=5 zZ{w*#LcoPXi4J{#Zs4Z0pm_UlQx~rp^kVSfZ=}<#NAaBW%nqOXb%0{63!eHndJIUs zzEy705*+-36X5LKO(W{iz!AEu9H;)S!2|CpipFY1`cU_nb z$%Rv?G)67(b3Y~6m(GVcUw3MZb>5rP{125&+#6AHZcgUvZ0xu(`L#ymHXUlbQKrvo zahV&|`*-M@5Yxqm(8AzK1}kW>9A%`}03JD*MspYD$28X9Xa?ud+(mOMmGJl{T}oE& zW{3Rq_<^eCHRfE(mAuuaR5iT9gT14)1J94x_%gnm+yOWh(nAlf$Bz>E@Sj^k094*I*eP&8*=vC#z ztmhpuMDtjqhU|lHFB=-}Z0LkLdfs5-yd|kY zrLPFZG0@7fo^J1J+@PmXU>^>ATl~~yy)o-K{OUKX3inuByBOF7uxg3EpFSFb5L&!y z_OarJ>+n&;>I9`tM^~*haOSYrci&^X8S2I@CTul_jt98w43l_Z$wLlXg&sG zI#9lUdhgJ!1rR%c|Iy_fFIU_3A8MN+ylyF5y(52bL)arz-Zx{3Y10;+9_i3D+@PHXsON5EroL)yN4%fN=>D9maHxHp&L!I^8!nM`?0%jK+)@zPNHrGP$CD5}uCEif& z(esNGB^WLpa7)8OmK(;riv;Abyz%OR`=i(C_413}-J}@)$5fxVTgi;~PROiRfox+a zU2)fZDj5C5HG*qi;5PTJxKz3ga}NC312#A+t*S2J1_@|+&uvMxUWtdbAaqKoP|lok zW>%^*EW@?Cy2svreFpinkKznZ3Pg~uQIwUV;jrKLW1|~le@yLqOSg9OY=azJb63-R zx>D^fmk#b>2{C~BkTLP+&!t6e;{bI6G}3u`+=1mh>d;BrlO7o7)`YcnR` zCNon&QMyRuL9l%aU|xp1fXHPNoIh35#!%xHDfnLFpzei0hChw**W4)BTj-&Av!$)6 zHTkL_I%6g0fYIG>*xP4dj3=vx=Y_2S<3t<#M-QDnzDqsZ7r$5+ZcasxmRk?I`7{ma zF>Cy)?Yk25io0DfLWML~Oe~1yq&LHS0=QDF+TrTBwouVhAH=;Ml6~+;pztyj!z7~t zbyCL2mSjj)^I#a{WXDxuc42M=Bx_R`pkhpv#F7KOPh<}p7ky$nbSc4JQ!I9oJd-{g zoOJ3l{p#^_L0qNH^P4EH$}QNZi#RtjBc{~*99TLh<-5gfJ_^8T%^HgJK)CD=5_Ruu zcQ@}G4fb<2%|aa_I4v2rc0ec@>sM z|9%!pFwZ6NO@fq7@f?~zGnKpr^rH*!JQ4;O3wH(nk@Pbd@(Urg)7yBPJ>~prJ{X$= zLB}FUDhSGsyY;khl)a*-Ae)q=I>XA3{PtBYgmy4-7Mu{l5P6&2%gsezpuDK) zaQ=pQZ$8N#e!X(Z^G^@rEPpxC_?#DVY4SoZ7q1u?_;nH9^M!E~P2<(P5JPyGqPe$tjMQE68?j=i1Mkfj{s4qw;8XvzUVyDHS=H z+7;!}_BHYW{|f2%%CxvHr<$&&AH=X2>fIOYmh-BfhvkP}oIc9$a13*F zv>^4KzuU~caL92_1mBIT-J81=V>a95l0H#(w~t$^`tBXAxuU1GP270^nAMSO>cm>2 z5|>&U$O5&w}90YrBk@+{L_KHdwM8(8nxq5xPzsl%4CAMe}$~rU|L%O@Q?3> zY0ef_X0Fw+a6QZg4_6pB=gr*jj>FuyZEp)=;M^S~_8W-_-{ZokCnSe@Q5+5hXw3t0 zq%v4&?dV5Z;VjKU#a6mr^5S}H-rRd56ujsnalHbL!g?)B#az8gb^D#db_k!t52N;3 z=`yG`Y8gdhMHs|tU6vNq9Xckd70s>>W*$X`=m)NzGxybuo;JBaT}S7YtbN!y=_wtS zm%@}H@&r#We!^M7q8ii8hR4%z6dS+kLK6*75dFfr$n1YeDepE7%-Q&`a-EHhxQV3F z=9*WkS%PNu;)&}Z+~p(A$FLUtpi z)E+sF_9Nkvu7vlaDk>GPyhT=`O;^9nORc3Wic0*6JHGho;AScB$D%n5)Bn(Rcp>?? z%|EY`De>-jeXuctZ}_eVamqyvltISB~XYV*s`4z{^8N8hYv03!iiF3vzli9BeM65 zp5n;l=-3)tH%!OSG96bBsiqP~bTz)rY$?jLz95>o$FYKTWCW;d_P_t50z`+V&o~$@ z%%x-7fJ;1y8w41BoM_e*qhzd-es1_sz!B(By?VLV9 zJKP5BNFIA7$$ZtStRZy4q z1|YtQH(mR1h8o5D_RBx2TfC{JVhNvdu?ESRhJLI0(^n}~&-qU$_W~GX%odzdGY&hs zGxDlLN2AfejbF`yG+df8$Jze&Q`U!?eAC3L#O~BmzM^#!*@l$tHGHd1x;JH2~!sh3CyTh)- zkutXqsLT(y+jHm7TU_L>nuTf01% zftUndcx~-jcF3hXzU&0C8_-~i&5Y82*O)np2+Ag@9_Sl~ANo`bkD}qOy)yV~E!F03 zou@MThk?y`qu+W34d`p~s;!gT2EcY1T>S7kXxf>57a$`<4OXowZh{5JeDn z7jiyaakecwDUS=Uj(E?B8TUI;Zch`4(~zTP1IdpXnj3zV;`#C>G9b@sXi)+H9L^NZz=dV9LpB_B`3M`}{pPzzY~swGJIoKcY{y zDIs*yy#w#7vDE-@X7K?Gc{SON_>zK~&5bD^knYApn#~3pR|*3<_l5qDQN!RKhFJ z_8Zf)%6`sVbM>mfSPkX2E9`X(yt2`MPwn1fen_rBS zMpRe`%Oc%VtM8-fyYFZy<$Xxg&~e10l+DLsKM~0VJU96!+tlP{yx{>w<7;UeOV%w< zkNCJ#?+ocnBsCm`5rSTin-6;*w{qS|?{3TeuaNggUymJH*)*Ue{AQEv-s5_VRjrvD zXAPEhkOww@DTJg;$mFn|w@5I%$C8$afE3I|PA@j-B}cbGF7rwkA#Q`7aUkc0FKqXX z`%Q#?QN3~W%{|$%S0-?sx2y?~3U zO~74{$QrJ$hhZ(@@CQv0b$ar;l_AQc(n=D$ciWgo`-|)hk5#a@J$ZU!C5K>fedz-8 zf?iKCQ<>g()M`bQ+v;4Evytw>C6-Y$QmFA&PshnpAHGy z@P*aiR1Ersyl2Bgq3D!qOG2<5kg^&9%FmaM>+RCma7dNxst*Xh3vOM1a<@a`1ON~9 z-m`^p)$A^>%rG(VNoX+H>Eh$okxOZI+(gJP2(vAooUuZE>oGVbrB~mebl48`Xap(d zbpDS@ci(=040%M>{zp}?V_&b5i`|EnSpObwFr9T(xY9dEeGVIFv)ky^2@?|xyj&S> z^?rL&QwVU4=g0LTO0n?Y{S3oDo38!1otqXK#!>?%c|*jJc_pCR1LY%{+!?DT;Zt0r z8qfy5w}b)WUQ4BR;$eBG!jh@M&8nad-dJB}&$YAO>)^N#=6Ckz1qKC%VcO$3z8^i+ zf+6mMk8X^XpK)iewEn0+;Je6eD0Y?mbCP_EQaT4=I)J`7{bV&e@R`rE>RFmT&5FS! z5kp6$M0*b64-nQvm|V6EW( z&pBBSF$s!cx=0h|S4%xf2{@^lJ<-j5pIG`I@;-&;7=K|v;)CFfBFtY4-J2JC*5Uge zac$uS^3)rRbUIy*kUg%sR~Kk68+h2YBenkbJCcrEIO(96B$Yk81&#D&vYB{jJK~W$ zzpG0#pz@Sh>-3QF&&qOpD`BN5g=J!P40cqR`HO2ef!I6iB=85r%e%H&O1V@w@7)Qf zB#zTJN>cOm3^~LF77D=7l-#FEO)T_nL6s7^F`g`_2A8@1qp4oy)clO+yBTTewM885 z$;ye11BD3pX4Q%oxu^g=(`+Lpr4Xluxi^o}^CL5KKxc-R%VwmICD%4{T)NSp0|8gy z6r6iNi*?=U&Qm*;bCzYZaXC$dR)7k}Z#g%_s!z2-HXPzBTHA@|Y=c`lE5f>#j( zKguBHd7Z5lRueRF`$)m$wSGk3=&J3<+Viw<_*5OreYM+)yfrcD8~dc^*%0JOA4)q8 zJ^V&*1kS_88@LY2qnNCISN-D26598?*eLmUUZ=SG(DWUBsN8syfI+#rlai1DzmvsK zZJEM@Z2v|B;+y`UN*iw zgvXUvA1ad5_`yn2L3Q3^lq^x%(Oe|OHPri-Kx#lN-|Z=hPySlZ7jW=F=zA{I4k1zY zC0+Lz@K005R=rTk8V>LK%!`genM8zl6p?4RfDeiarv)sGv)>2*{I=R>|)%A3?c$UZ`4cju= zhj>_@v-0ZKulX-{3`7pL``PoL>rS|?faVZbKJ`&tgU4P;5~OU*8#pP3boa7awlwP< z2CBSrzG`NBwkJ@f9IO*2-y2r$y<-QKi@h51kLp!k>>EdAQ}Fjsl&(wVh$G8^`lL^9 zw$v?on7EdkI&M2CVdmA=1V{4)T ztgUaI)0@EiQ*0Y>SLSmb!d48ik0O|QYu?VcTnb*FV9yP2h$_k7 zz>CZV|D!VLvu~6$P$RR*k%YM{Zw~LG8YKb0>#Vv41(L@zg`6I@Fbd@x#{czT%YrP+ zP4O|1a{!x$h`5I9J0ZRVndglI;M8-&wI??I@m!B!76t{5EMgHp6qM`F&c1q7RrBdqy&YXgzp1nS z>YUl=C(AtLD2NrOi@gM=FLqpW4;B~N@kIM~#G@dmw#rwK7wX?x;#!XZH zUaII*TPr17FSj&bI-mmdw`QYe!E zc1PlpXZjhsGwVVsk95*0JE9*Iid0MjGP7F+8N6=1A2$1MeRgcHdG*dohlo?UFkcC2 zH#i;mNj?H-4<7%XNKO;L;p&evUsbD)N_&p0Gz`!?Y4XVFs{u0Hr)P`dB=Olk5m8Zg zE#~l)!FSfkY8s5p^BV>2W8a&EF6%gb3PG{{eu4!~Z^B&UH=zwOnT2i@5t$d>2o{Tt zL%zobPoAmeGS?@B`uBPaZtMnWV49V&A2X@X2GBpl;q4lxWUtxU%RdUMNrH$Txj4Xw zM(w|%ywD4+xg=UVYV*=POiyiDh~6(`EF*TP5w_+v4G>V?W9O|Yej7R7AvWIj7-z22 zJjG|gKed+I-jeA|^JXStX^-5HrzM+f2G98|_az+mH+&e+y>4%K^t~a8^A+-m@{_ZR zlWNtj-xsLfQ6AS0*0H@eO_L`&lW{lNdOqtj9yNb`_f0UJ0y$2yPlAed??rAeYSy(T zv6;+C=|%G~RK6bx;WPIo(s#DR?)iR`677R~9aQtEn9ymNaOYRktlI6HM(28H$e1?D zOL>|&#b#*hUjRCZw2nbtn_3Sl!k}7$D!aADoWhHXud08$Zlz+P+q@e(Xq&u{Na&@W(xSq2156-s8 zr*`1utsQiuG-2kRk34NV#kC&KMBtyw&t5)9F0KpIo*rDrd^`rk9@+N; zBRnyfEb}f;OwePj0#~Oq6-?OY1~oNRfbwXU9%yHI(4FV ztMF%2st^C(%er_6eOi)c|M0OaRsPX1aq5j!QSqN?VuF<5|JtdVft#*!U zpKabuCI8pcYO2@l%#g1X)FWkldywwNC#Ttql^Ozv9(2~~ow8fYv(~@_$6Gf5HusOk z-O4L-Fa&iOBS64B7jPj4_=BK6SK=2izb_dq0mzl#_1LcE~kj9WRVngLp*#U=k?BHh+ zPm`Mkj~nYiqo#X1AJna5UmzOmJRl;LJajQ!6^O2KzCZg1^=6-S#SwX&t+7h|!cEG! z2>FfTny{2=FKMYZ7S_|Vc#@h+`S4?0<1Oij{aBWapU>EA@YCkD4~g;v$+`HZ1Pq|$ zCDf(6bwi{UwEIUic!aV-wnR!;XN_j?LO0jXScs8DFiO7y&i;GUa!ig($VOLSOX;l0 z1odE=Y@E-kYSSiPA0UtG{I~miot+d>!e9Ttc=Okob9MrKgf!Mjy9Qii&Do zW)E{hV)>S?^(*urch*o4KPjwL2FTo0oHHSJmfe>eTl;X6Uhi5dPq2<}p%2`zfMSo$@1+A)NHk3&v6f zt|Bk~p9!s|FI*Vr%m4}fdXdWE<;%z=3hk+;%f-t7fn!);0C%?(4qRfzl{4D!7O9yDxOXvrtv}dF&UD- zn!`WzJ_lfXrOr+DUi6qX79FICS15uu+E?u^6G=+Tqlsj8T&10R)_qXBhp+UwmSE+E zj4+i_@YY|C4hl-#J5~WGcUmYHf$6#sd1<}gqEM_Ds0U+R2!EA)?M;m4Ui$b??>1nB zA0&v_u=7r6zmGx!07Pd#qxJ}q-QO#3LanLOoIWC`yF)@ss{e$D!EJ!YUrdFt8}^o^ zV>}e!h}R-lb9ODdUbs!oKhm5|Kwc>nGk=>rz(aG~uWHMo>s3hWh!*8IAAUWEV_H@z zn9ICRA4v)JvO)e1Wb0&jnn;Ly5<1*AzLpLm(1oeRe5BksqE_U6lJL(rNC(_R0NWAW z|4ByD@yiC$EpE=%_H; zIdoBjXpbls=(dmj3-R@E%22*L(MjR_dWim`T8WKz7?`ydv-|AHO5vy(-$VCpCBT4d z7FCWuftxCXQdFUh_Tu&isEgKP`zu-eZ@KJZ?VMQoVb(_ZW5Q@rcdHqCuNC(Vcv3Bw zR7om1vt`Om|IPZd+Uz&k;7o)9<9%qhOXhYTFC8p$ADa8`T2XFf#<4$)r+x>LwJVoU z_-(Eb05=BIpR`xjrfcS9DPK`MR3Q}ZWaN*j4J9)sFWVtSWnDvSSKBEew`i;QWwB31 z_UBi&1&4fx_<%fCC#{Rv7UiGSvHUky12F%nfRu5nVefZ%?O*Xd8bUQix1Mn|t(7D` z$uiocg4Th+yOLZ@b5bc0eizT|dztenediG*(Q_dZW0hNa7OIi}v1Fq>%M{RH zR_`#^0?O|ofG<6qPGZMs8XLR3RIdidnT}46fjdPMAup`%A?pyIiVaQz-520KfKIeM zNe1vK@367O9RZndraZoahu}u(7-E>^?p409j*22|BxxV~D7Gy8o_y+o$vMy}5#5*A zL{Qf1R=3DQ7e&4m4IBBec-UoTQw|bq(CZi8^}4~X%d5yH(&II9k7m`aW#_T)A9%eG zLMV24amd5$$xt)) zl_9j7P>iRu$HSt$v&<(;+ALVZ-)5M5a5|E{MF?&t1z0xl+}Ii)=GEeh0;kWVNS$NG z*0*&S1o-{XXm?cJwn!VxpnsLeM0#R75julpJJ;N_z#KFhwH=?7*1l@S4QktZuVlu$ z@Lr4a=$rbqD@QwinZG*Pa}7)9m89#kW7Cn6bg`>snSofl<(tG1U|;9&?EPtYV*UNm zXj9d8xa6^u$+(yjm9%xHH%{Xjb~Z@JOb|j>RX0zi$2AO-&w&lRa}1D;QytzCM4LFL7LB zP77;HE>F}7Oa5~lq5Nsnb{?D@ZZ;nmbDrfPc;(lD6;IvfM`J|2GX0CB8 zdm`OKBU+pZ2~<>D{WUrif7mW1-^b+U=V8avioln~s`a-{TuHN_3CI*{t5P~aHG~X}AZzynMw0lZ?m`LXEGTe=bL`DH(G>7l^;K=B8@=|?QQG~ZOfc6m5T z&B`gIY5jZSUEHKzhkO-#&on!FJJC8Td3Yj8ExsRp<;^A2o)& z0$9phyb5vmzA?LXmQOd{CKTa&|95~Fx0Z0JhVqA3!qvf?x8{YAmuVDTIC_EcG85oB z6JU*G3y$wL2m#7e=iH8Yk~wD2fi>a~ou;B1w8nu_X%33ZiE6Ggr zi(99=X&ia{&+HhV%{ipJ3r1VPh#)`^n!X=gwe06_rf=L zBnFssuf!;?qC3VDwSzxa8o3Nkm70CXpsmz#I}#$aYTDl*?0c!Q^Fis%pXf%Vh=+pX zHb}XENh2;8fWT9V_yBA6tx{ets?7+}9Lf`(_L zInU^fsE^u3Wa8$Z7e2IAo5dh0QOHsaquBj3W#yMk6%Aq^8*0e&s1+m%?l-DFaU8+h z6`0zpG1hD4Q}QC(nJfd1uRs5~hD2 zJp14cqqv4bP3q$E_0(ncrYxO?4?W(seDSRKlO4b^>X+ZZ1|w?#|N(o&j489JEee=1M9_m5C8Hf! z^m|nPR?7|d#9LeXEbDq{v`@TeMt6N}+&Vm!5Nga);+=O`XjBew%4{!@`I4pBNwR3- zE%H>*_tj2xN(t*w);OP4?fV-_$xJq?PX;OK zeeW%+u-QwdYkj~CruZ-1Yj9M09=PB}AVh}mfzsR8$LuPxn0G>gNhi)E*jgf|QL#2% z3&0S$MDZli>$%``R%GEmrb*>1PPa06zoJKI>^`0xeMZ@}F=kxcP3RffYdYp`pd50f zTT)%fX`Wis-H*SWI`CX;2YilqQ$BvCboHKzM;zJvGEf9~+QV&7`rlLw+YRD?0iMH$ znCc6)1~JRrEmdvc0|x3@{w|L$hTlnk7^awSxLb zr9lz?JY+@&6C5e7?09`%!(^+@FMD<#CQc%sa@RJ`C-2-woO4cQF;>haw_i*$JOCax zn3dSdJo>sBG+t(-)zE<_Rm@ctkk1h4a$8QyL~d7N=UiJm6s+14G}y#d(L_@|3ite* z`J2UwXB+c?$8O#|Hrmi?!6h-vJ3GcRG}Ls5J-n$T!}i0;h>8@MWy!=ml$!*~7?!ae z`-1Kp1=5XAog2{nK z|Le|{{zSNh2fYZJWu~lBTdmUW*{XcW;8Jhg^HVu&bW!tMD~LUVl6uX!6coO=JzOyU zwA1*ZvlDgtB>JW7{UT_~ymaO%vQVPRO)d%xZ{bH+~2 z2z8}r7<38?H4We>wcoE@sr%wxpxKGUSue)o?MUn%eU8~;iP3Y}3}+wB#``}gF$}a} zmU)uJ_@)93g~#jDvK}WbtRt(j&q-D#e2?UGIY_!Ox@xcPrT^-$TUP|_BB~Yq zK;fbO&Hu`Sd!Pn))DnkVSPn2{$ET$Rw`0yNu6s+UvF+*N-GA<6s#rp0HWx)++P9^Y zHjMDB6jxdk!Zh=8$o7SvQ3(;-TdG%wW%3&e>qS{dCV$^y8luUzLH3BCy39VtT+U-D zPUUp6OfxR@sYt`6s=>L-y{6A8!949O6B>Ft7l#s=wL!ZPS610J;#UFDGf)k&yIcLr z;SE>=w}(#Wv+J91F!DB#DAwbBgXw%r_^(RjUrK0UeRNHD;7dOj$c7`qY2B2@H15wUKwB$a*^hMpv2cZP2PC@YnmyDr5^kzu!xVMw+L z^FYBDoNpM_{f#W6y>mA9#_JAtWeb_yM@(kt$|f68auLpVFZUNS9Oq{|uLS{v+Wj$^ zv#-v>{5%BDU#+^L)SyS(c8a_$3DsaZbXYv|*{7xA%J~p zbB(NZeuC(yT`$OzYQ`IDLB@_rqO|>~pGrlL{h0^5-a=2I%H9;e?PAcRQI6iK{NLaU z)8^&Nm7ojS=MuM9bJs%S6sqaK_YY^?h;0`aX3hnmVkICNaggdmo@a2Ls~$TGR#Dh` z>Fx35WO5Uh4+`>6 zd6T~cl*i;3YtrOr6o|C4@QC_F2>z<=)&|_tbkBZeQ?){VXm!rb(D8sNFCwDHjextM zEK*WqF#kcb^uOlSu?!Jj zhvYx9KYjakbBh_e18}~AL}l5$iH~Gj5mJQF*UTi9{5XfbaI5-36Im!vmFwJ`sCQN$ z9ajsE%AcAi*e{doR`zJDCZ+deH!e_JfjdFv!?&(^J#sU99C+|ypN74f#^g!NGxM~0 zm5}PH)=M_m!x1{rBY(z{k)M6dBxv6qAad(lH#nyK+d3kNK zA=JXwCVIG!G!+u__8%QRb^ zm&g~*7!hX4)RA@h`JE$LJWn*Y7_9T+BPR1m2W0pqOQZLh!mrcnR;$YrQKYNN^TUgc z-@U{Bd#8A1rFh-z`ql#6Bp`c@QGMRIxwFqi;{GC}tr$-JqgaYExMk-KoeOne3|X)U zQ+kOIrDBu3N+lJR3q@4I_83&9l3Ttp+Zp19Da^CaauHkcF6ee4-ASF9w;fL2Z4pAc z9A}SaS9-5&?bxdYbM&BAUqi)iXkEfZ;5qJAG1(bO>r2scuYg9H1FfB%3V`Tv zm`6c>&;#e!4}1Tp``^2NHPZ+sQ#b4#a_iC4r7t~?*4`uzsBI=B<(i{_^7?ru^GpHx zWY$jtdSz2nJbE%~jg3FrSU*e^I)=cD{(EKYcZKG`j~>}pWsy2Ih|hmh5ytD0xdR0tmYt2q>gw;R#PKo^=S zROfKpg?u%HzsO{&n7kDAzH7%IQjjWJp7LMNru;@pGkUEl+F9-Xu*A%Iw6J7^?|2gr zZMfD?yp0@#leFA|qf`I$o1fO+NW!uWRC*$=5ub*0k3|Xv$6)lPa$d(8H+^ufqkB~4 zH&ABNts!+Jm-szxoQ=Dm?P!^JDY^Zb_f4lsnmAQ%2 z$%6Xh+tvb1)LzTc_iZ3ACFY1y43H9~#6 zOcI+LJZeu}_IN8JN-zd3))p%nPALY0CFt~Z+t%c8Z~{gN|6+A&qZya=`yyhUQVsdH zR`2TJuum;JGoba_XD()*)EXs%5)t$l!Y!i%q1ir_L!Uv5K6|iDGj0I8H0DS%e|^-$ zIf!p5C}@F1vas#1uob$&Oa75Vi?-?wdAeoeYdRIdyP=8|0_`eW0(iLQ@_MOGTO zM;{X=7qNhQCxagYQe@T=WK&EM@NvICN~*F);@POz*Dh-R3YFqu@4S_5S8w>Y%d(4! zdRLoq1RH0jPA@-09sQ+J&A52H1R*@iOUl6Qi@fMjeUQcgGU@w3rzX>Kr<9tZzKIK* zYL_Kf7w37jV{+QC07Z6^8d@_M>ZAuO8*df7TEhH@9J#2flN*tg6i#prOrMU|H?tOvD zj~wN>wTerN$P5ci+S1Ze{(H)H5tSkT;A9C?p0)B&Fc%^3d+e@pUqmsTj5by;Cm{6^ zX%`E<5{~;WdD*~gFP0-;>+4f-2B@e9E!NU>g)x1~BD3Jo<;r8z!O#^QHz<2x+Z#>Z z5AdjwHI`LKgZHN@lHsbE>pYqx?D36T)JG?PSb@djP_f_M_ZP$Ya4s1n zrpBNINgAqZ3t6>35Xq2lqWtJZRc@j7twr*+(V1id??DtVPHvZXc_%n$C~4))sL4zq z>-y=N<}+;JNlp2Rg5mUSJIYev>dYUIvJ#OtTrB3ueSXeW+;+~ZcY?2L#1ohR0w;uG zTAul`+FS|^Rb5h&ScmuS&1Kozz!s)wk|vB^swD)JfwE{0K*KuhvuxLYD&D-Z4q3Ph zjoR32S2X^1zMhO6qI9rnhJpk5gV!ciEOmg{cx#6MLyMms23uD7f?2GK(ZHd9RC(?R zYcfeUkIQ_hc!Ic_cJwoTC{BtA^zViejeklt-z|W^jbI19&^mtt_x!MnfnRYe`O)`R z<4P=EOf!4fC;H|aPIh0n$Pij+m*lh8``gzQZ<~6p^#aX%uls4-94#f7WX7L*pq$Ol zZ<~O-l5sVR`dHq-ynYyH$+_(6`+AH{@qj?18A&nB{Hd21%qP-D6r7?Ug9Mh%VxQM) zoqp=0*>s(WdXv9&e>n}kQ3C`WhPqNFgO2Nn_+gv@0QajYpDu ziQINp=6S%|8ZTH~SYj!=Pf|q7eIh-OvHlfsGxP0xzOw+Rj*SC%PieTurAp2|ZL zb_~OR0#%;oKh3$HpCfQ)j#J*C$i`k|%6kpu$uq}$s(JbMvsi`?cjXg$Bfk#cLaT`+ ziLInVdW1x+$##^v7{84r_y+!Q|EbyB_@erNcXq_a4A321yOgK~Ravn4JbI>&H)~_! z?~{2d_g{a|-B#ax4i8Ec&(;JOGCS03n_NYfun^{9X`^dB&?@VTlj`*;yofuv_Einh z7)r!2;HM*URs_0E8S=2xx~FT^9%Fp!TZr{7>*x1249+S3i4(WSHvq<}*01}I!dneW zt$@#UhV&MJaCr< zQr8Ci4hCIYerF3=557pO*yR3RD>}iH;1otQ*9>D5Yu(@DG-E7%kfgE7@aK(-%-V`@ zvPQg_xXcYRy*d9Xp($6`{{FB(>vn3Zm{Pl*!@MYFWS8@#hPxydu4^l+(v{D_xn_!v zPi~Vk-Ics?UUv}JF%}Ykh!~EF+Op6(ahfi8+~H_{ntWGrJtqNT1%0BcTQM{zv6fVl z#}}ppIBVJ6KsmG#L0!Yu0yi6LNOgMG;q@L4h^Pj&QR7Oe^OEY<%g zI_rlf`!q6W6rZLz9`7Zk}) zM>f2Amj#iwdQJ1t!DVCAo)3*%m2o$z3Ywm2vG#CkM~F`*Tm@=|s?JKCJ~rBIrEY0s zyzK(fx-ACRr=8T6WiathR;J?Al$lf;ra8*{`pHPy?r#CtL62u!1O=O_5;*ZgWe0y&&RHoqk-L63Icu=bIF1iKYK)2*ju~ zhso8ZZ)FsSq*T9c-mlIPif0@f(lnWGq1`7}jnC>F(mlv1NZ1-A7_UoOZZd=i33SdB zd-M9Z!^_Q8RZm{rtD*TfBysA*6nGAq|>4w$}-Wc7;HIYV@o67d8#{UnE5(*cvaV9kM%DG6VdC?%13} zlW)aFi}EgKr<-0bz5Yuj$1-hO=GolY4lq_~anA40-hL!sef!9P>P48l^kF5R1JYkdZe#H|cdx!&lX(w7qYv+t?2|1v`IC$}SNsv3d18Vu*}ZCuN$~1@ z&f2h1%=%5=a}l-_4nmtlWymX>TTwyllcEjDv)^y``@kY*v0tC;5v+&d9iUmspQ%LJ zL>Yv5pUifBQ+3py8udE2W*-kc{?lLjW}c;;15L|n^Pq;K|xBjeEF_W6?)(362hJY33?nI>bm&wUMs|ert}|?qfLE% zI@1zQy*Srh7xmY0BN!g=|ARPPyN&lA^`@j@GWe`ARYW9CZq;jHao+c>n$;%GsUIl8A%v>zi=gC1*UeV0v{#K^FY4w8wv#0&9RFv+|se1>e zUHEjd7ugi^{k>#qm-u*EU38!d+nzR`LVbG{ZQ`KS^+b$`FApl&Pl91>w{~-wjULZ9 z?h)$MrId|yb8{Ky_$g{-C0*GIR}5%}f`Z!krrUoxoV+{+(f$6)UDJGgB^}9awAkd6 zvPvfHV2|9A1e0#=RaR1wTghK*;pPs5mvp-y387`X!~n5 z9B|uLBw=n=Aeala$AP+AJx#j7fDb!=a7zwf#*1~eQ@xVb{)K`Sb@}iPZHY>64Y)90 z%>WlUET(<;_fD_&Ig6G(VbaRQoPot&rt|NlKZz484yJ`q12OGoJ_NhMUGAG-{>yp0 zJ2fB*2%0+hxQNL_QfKZg4k;EpOK{~J^>f^Tq6*&8l5auu7gxPqof*8ed=@E@NO$Q> z-Glc{3)!dnG0JTZT{P@<+o4R@_-o#;D-t>NY4hwBj9r9;5eaK3-4TWR*k+ykpQfs6 zo;w2QH_*TSBoI)Tk4WBZwc=yA5sJ3D>1!CG?*2u?21&fh#}XCo^@Uy3(BOO#*(|8< zHqzfx?ZGWg#caXyI&u-HcMeqxKozO#P24tCyiveBsSrtDDtj)&{yWVf!`?s&VzZ(Z zm90&DyaZ0wQ6n^O4m(f!U7ZMa^q{E!Yg_#Jyvc<_BU!fA48nz>1FKsY{3=Kr+JbDU z5e_$i`zM7joKL@lXikcDqA%ZUkQ0mOqzejZqg;|ufE6zfJJ?=;zRRPm>)&ObUtvO8 z>D$^A=}iZl2C0MI_c>Bv2EpnI-sJGg`R%&wxDU8IAyH8U(#*ZjRU6Uvr5*xUc*Jo@ ze19Wmb9$^0D~8q|S)Z638aq<-r^vnf^3dCV)V%WxSS7%lUr;XrCR( zR>ME*u(wr*%07&XYV1|?D`<7Aa}nz9u1d70V|H?0l&xLb=VH)&u_gkah~SlH0!9 zr-|lqO3RfEd=K3oFgp5H5nq>F+#ER8%=ym>P__(`q|&_jI2wPLLEs-1sNAOcFJ&*> zWfQ-NX|aX9((K|omFaq&3fAE8Qd@^_J#ixS=mlP6oM$hO-wQN{liIStg&gJ3F`Z#S zpnW>P5A%f1@g8va*7(hT-Rk?sima5|_7`t7XS8Ft$>^u>O!&yzh+j&Tz zY5*yXto;^#c;%~jv8}zK@SP-LtqI<7Qc*BAEj|^Tq_R+BS5}*jAY;MRufO(ZGNCmq z+d1uHDUA?p{cp+bdRvy86n0C*WeF`4;L-D1oEvyQE{jz=!uz{V1c(pc&m z(bvk~LxN5$9ZQ1Eq7{l|Y28)5^Ka?vYOT(Oc-rBojILqm~Tjo-6x za`{MM0Rh*8M^-UmC)E{SEu;>cViRfEsQ*7D6m4p~vc)I$?)plBzf}|17>=)jVyfZ} zGdSs~xM0tT>*iJ<5{w;BFQV8>eHgfqb{?7T?j`YaSyUw*0+SB2Uu?NVXb<)|C)ESz z>n3mcT6q%tf8%kSr%wps^&SQQaQ8E<0+;>{qnCXQjqbooZXID@ED*X=f zid%d`X4lZOOOm6p;O$oO@vR4PgRyv@@*k1+o_W@BNnIByAq}zUsy0qPFM-;?gX38G zT4+_)I_X0GcF_l2hN_O!UjnBSOcG>Q2hcf82p z^+yG6ScBuuf`6i~tQK%NU1D1vyR3hX-qfqlIU7FNn5&(fRYuXp`)palS}&%xJnk%h zRl1#Ooga0*sOXf~>IxNVtPgULz3NFhD^D#43m^8eQc*ge zJrW*M8uP`*#z0H>!!BC@uJWq$x#m!MKc`rowzCSm-FE9mIygPr(H`?$q`or1KV1Zr#P9srCfTZ+GLRi)52Lu! z_JjIM3vU6$*w#ulc_jO>-S*3O&xzSzK5eQbmmr~AOGXS$RX6`DM({KK@o{lSkz&7ES z-Kz(|nO$dl$hW3ei?TCB$j4(Fh4p92E1_pxtAz5x{+6WopBpyvrF8#fRu|x(K=;R& zTajs%!_4o1sc(|)KRMd3R=7*_B5*Uhf!C_%<~aUYly(#v#l+j2PJyq(Xnvo-%)*>B3~!+(P@CW;aW=fk??vf^Mk|=lDQVt5?5E_wMg*-cA>9Kc=dUV1WMw1 z8&k%6);n6x4AcCRw$Y*GT6A@3lxEITgznettgfGntatU!lXi!d8Hb(JoKIRuniCw4 z5H@{(n&`E(mL`OkCR>Cdj-6pWQ>6MWSxPZ>b=9gF*-RLl5xmD9qT98JIP^zET5P;u zxxSzMua4(cX4PpO%6ys9NiIsSm;F||${7(X-cvzsHJ8Da_Eq}6sr}>z^qiuy4fctb z7LzWm{p%{S*1kD~5AWUX4F@RH+E*J0r%((n|FV;LRijmSOW_=K0@c!xWXWIA`EqGh zIm%1PhcDW{4kw6xfa}M`A~x`~ZLLRHt~7zsgATrV2U7an``e#Jo>(@1h>wH!f(*{v zPZ4eh{MU~;hEOiGYuC+9=0Gk`>J4xwI-;TK+@r{M+OV)!g3O84|8jC^_NA1Y{TUB5 z+}1Hc^Jpl0H&+jGW2`|^t4CjH@V1P}cl?WtysksP3l+R~XCi`XGPbT5-YZdR+q;TZ z8=|I_GRC5UZm@!Z1A!5N(;)T9+GSA4{?29Rx#fNC> zInnp!9)g9R={!6-2=1SJS#k}ibFn9NXS?YUOk|J2*1jHaG$JI~SH01nk+c^^Cgv-PRnc2!=t1@UaWdkybpTB zL!kJuZq&f$eRJ4Y60go$GW%kgOfCZmQPL7d_SiVEBd~`>Siz`azu6JHWV+_u=Z^^pM zMOPDZ4tiT#Up0U+2q1s?aR>Vllms`T|KT!HDL$}EoQz?Yj;dYym|OJeqml55Y#<#3 zqXUO9A*~qAQPPpKSGiL?m3qg)aaMChnXd}Dxc(AWnx8v%G*jD75vRj28|2 z+@OnGF`_H`kPI%?kFYclxHbo@aJN_A#$AeiA+(T$?#hk|S8;mX&HXI2D+fq?oY}Ix zcKgn~a?FkiS+>?!*W{2^$Rd2kk$JWH5>N)0w6Efi4rm;^9po&!U+a}%L1tJb&hXR? zMb>a!j*+s^F|W<#czGhub*Up`G7>hMYOd?H=Hf)WJ@qp`YUOL&2H;AbAOzo$)-32K zdCvNLd*smvBA#dVtChRXeHH70xW`FTZ9J35>EI}+6r}#}7m29ga70u~j1b;r4A$## zD{$_%LMeKvfnBtj27iBLJ!oka?zqme6k!pI+B6wzkHqJXNt>0;R=>)$Y)Jkhx)i(- zsFPfOGHY_-uO)e)a{sYarGt6b)ud+Hd_p0bhz5oVZMC%N7hn7knIq1lbo4dxeI`Z3p(o=SgL}73e$#UDuVEXi<3=U0nzYDqi4H*3pr4(DVuI& zxEktK*8U@!V+_>_+P?LkwlK=bnY|4`e-_p~vWOU1_Jb9Xm4O@5fnAQIxO?fsi%*#m zuAIf_*UoGjLqh1h_vJ&P?(|!xIgYrf$#gf@_KJ;9*!ikT##{2C_PgV2zGYttL&B5@ z>*Qd5UiH&vS6B1H#7;n@+5D-LUt%^wRe>=z9ah+@W`%8=X*0_8MkcPU2+J^u+4ZXD zaShh*iF&ame)kj`L=76uC1lhsAlqs~3YD)GTl~onw#w`guC?z^lNrcGt39^IYH-Q- z(X2;!eFL9wf>AA2H6JjaK^`7vX{!mE6+CS@42c5Q*o|xd-XG6C6UM^rO`Wyo-uVt| zX_j%YyDjtjg|BiE*^JMCPdsW{n@>-t7K4>gCTAR zjOMI!?9SDox!IJ(MNEdj)VI7En!gZ1Iwq*NY$$8Vwu61Fj^K)5%!&W~u(+xk#<6tFqAP^Es*oHJozoV3%2s=PVPP^E!Ic;9 zo$-F8zrlJp4Ao*^Yj2oAz^mDSd1o)8fQ7k{)TEKsTh~b8*-+UZWGCf|r}}T*WZu^; zrU@_k>P_EWhV&ZTI%Ocgl;t}5bE;QdrW3EM(HL_b=4UI z0L@w%(_F%kn8vN{B@&~%!=v3L~L%w=YWh_zr|E@*@@I3J!A zc>3{<_BWFkAic*ON8c&eXAozeMk?p@e=|EQ91++wj-uZxw&|^@AcIfIlK71@p?fFX z#w^B6p&!R8o0|{yFK>E?Q`=vG`6J89Z<)}Akgb8v9S(uP`gI;T)QZ%th{^9v8b?{y z&HSzZb~$Y>yX()h4BUK7*clBc|Fi z3$2vuDs`8Vjz!|LGFz*6ZJDC@=A{_hc=w}2+a7qPUp?t%B20(DC$H9NTr(S5NQ#0r z50yak=6hj(Ya-PpOx))S%1K;VJhqL?mSA(TTc8JG!O~{=Gv^z>g-liRw?a8y%6yLB z15%-+%_DR)9^Up|nnWGX)|!0vdmd%QXe$jUHzaKenSfvgUQ9REV=ga+m1gWHDnJNtiNa*hPnxeFVS<5T%=uY<9eDpmuwSr(LZ=7 zLbkkQK*T05{5vHao_xH?I)TKLRx1`Lr#?UijYqi3Twdx<`qvl+gYLd#v3nqltps@x zO`}zEPN5qY$g#+Sc)!emWslK|>_o+f$i^Nun8ldl15th5I3evx{h9nV$Bl*Br>1p- zs4NaP+fV0iLPZWk%*`GX(yHu21Kq#3V8+sJ80>1 z>OxfEwedKUs%O{c_NywDym0Izy|1$z&JDy7PC4x&r(D;x!JRD-g5E5Dju@^fi>TMN zAU=%H$D05DuuT{z4L@$N$@(H)3>6|+>+gMPF(+X$Z}la3Hb?`MeExskv+*HkRQ;R% z6I{+Kl~Ssi(R!N5Md7`#F3vs9!*dzZnCnP^Pc0?wyLo5Tr-(<|)CFb25rgQX`~tFe z6^31rwd!IJ`TOQVGLc97-s1r;>aB8rx;fNo0i1w>w=jOSn2Iws8x{W*LoALTy{0#Z zD<#BuymwFc-g`6}LcE%*-^{n zD!tehnQnKMRTrr0Z#MS8?o+%Q8QQT*m^l=MW@f-r=Wqjp;IdB-+%hq%e;h3IcFSM2 zEflxlBaI#&@y62T?pLt$S!A=S$#&nV zd^&=)l{u?ShHp8pGgT)y?h!K)etxd;N`kOf`X~^U8EL;MM$^OduJJ=8Ez21P4Qkb2 z1y`2eTXW3Imq*!e%j_yBf27RJwvcs3C-(JP84y~tktT3e8&iz*GQ3l8Knm!swipG~ z^702N4UOfqbKUBjvIJbLmw8f+09o&YrOP*2)1~9OH;y->X39M;PEAr>Bsn9kz9(#u zdXz#`VKg>PiKrRNG4O&b#fQ^9_IoVUOe_T#W@0NlgcNkSWbPBhFBLq$BmVeYx_?y< zHzHmobpu`aSrF_s#Sj<^OE8r&wEN9UaDIE zvV8_*@uYlSh~6V&C&^+LxjwmFOj6CioiKimoEojcc=vy})l#b9xG%XDd(f+zdVg0) zf9V*-*(|Ukoa@;W9eR8t^?UGv!Mtx1V=lk2V}OC^gMi59dJ3@@p+x({{nDsN7_Oo9 zksPVht61v!sQD0_Zt3orK0$g9UoCpJ?{_Ms*TzqHi=5m|DZ+etctr)=a#i0*hl{D# z>KiENGv!v+_W5t_kf5&qdVV*ANpSzh%8re+rtorZoVnfJH3znhEKvOZ#>?1U5!rSj^q1$31FnX7LMMDYHae0)@2s>kk=RgEi zZNJac3IFPrH<@_FR~F`fp-Qkr&dZt0>YlU&q1%DE2bLc1lOhzBksO-Fsbt-1Y)a-B z-v^Gz_Dh+Fi{5SZIRCHiLfj59S*(ZvZjuXdUU$-|XlxSl#XvAmy8tNBO+`)R(=J*t zpPtsi3%LR6E_(=cY^#6OLWrwG7W$a}DRr1rXnG^}m)Jf!i*C7o?xcl%?bUFU##6uA zfRb%Wk0(iA6v`H5p!ZeKW+)O83=02b`C^YzdN0Abp$IUf<6RMrV2Ke@WLNSq|F2-Z zA^}!bA&cE&OwDy6tIu;!V_OaK8#6o7_y2Zw33fC@y?4?cYsBleGac6q;NwXx9uhMi zmwIPLx>M3PRMErij!wTx`Yw(XV&{r0rTugU!D&_re}BtR4g4d*v2cUPjfFNb`-BU^ zMe#?kUJYqTAD0`i%o`>6W$8%p`c%)XH{^wcOFbWRubhKi8N@)kJm^&Jk$&fMlVSJ@#Db?VA&(gGw5ZY zi30az==^E~%T@4K3ttOnI`SM*^3Dh9r`nbe7_4r2iV41>iVl!l3Lz^CWKk&1B9eit z&_>WGRt8T2RqgfL58T!;M^Bk6gHQ%v&Z7=3F|DE-`8;{J8q;N=u!_b-km&u>677{5 zr5AK?1&xP>p#+1I~ZBUXH1+vU)H|R#Bn`MYqv^% zi%46X6B7iSR9Q#)KL%_Z#(@pAVa1Gn70<+MU@RST~?>dQSkp#X;82mrv)Z3Vj{^yPlOt=TUi$gd6A}jm{2VM>Q-KF zNxEGeh)n#|e9xejLfXsrE&opi5n;rMU_o2tx+z`LM!c@D4h3@tJgvVG$-t-7X{s&; zu8U%PZu^*pWaO@g8DNhu0;-Stv?`fE$RIW2%xVMh$7R${7V`6!L?8AQ4-MogUo;_f zsD*~RMD+tU!c=c~n6JQ;fX^DOh)4Ow@-u6Z^7Lt9!v6`t9_9G{A(H)B%hW41GtfXj z%Px|++{d;ceBoz!=f53bmT1XS%JJ-u@;)DKma^@khz85H{bt9=p%}vXP;5=(TvtBJ z^EXB_)%+r-!7Nx|^PKGjY+BZ6vTl;+aLv6h8ok2Lq|h`t)TC{L7K=aZ|0{9ILAyg~ z%TSvu&%Z~HYv>LE07(pz;JxGH1YEH|~D+n&tO_7VAnf z3A$eWR8#fVbBRrZQ{C=23+8<5BKg6B4#)$ugG|Nq+GQJIK$rn#MU-$#GW})rWh+F@ zy!Y=0si^lAF5|e|q&KtDy}~SiuezvwT#wsM&(u#8|Rp``7*Hg5Wj~< z$9q3Gp+OU0l|@_+I62Q1i>&4i>gb>S{YTW7YKC*PbG$Y3dpnoEtA3AIvk{d3r3XMZFCI_S^A-6(_>m{lzZF zRw+`Fe>9q|(N72vPD6}>AGhbvgXEz@d(C@_04aj3I1ByTK8Lt*XyG>p4CN~`)>DPl zdU{+x8dQHPZRrD9KjO`r)5Zm`v-~4ke4|_CH&F>w@O42id=S*9~R6*Ta` zYK}4PBcJ?vqvfDSY-$nqQuESW36`1s?_}N;uXU}_+3yt zV*3qSY02G`Du)(IEkXs|rg3xHiIy#C%XE*G1oM1y8yu;%P2QO}`*+^0v7GX^Zx59$ zNC2EbE`y*$P9J)z+gZ z@0_!Wn)ao6N^MlPRM^jSZ0C>I6$lzb2p2g(zrqsbRjaRdYz_ElRG=O&E0P5j zw*px{N8*ILIBmr&2n#ddproUUW&dqLE}o8IQ^kZmgZ!SV%a!W{VBxcx>3Q**gR6vr zf*wxuNa(eW<}MWa5%kxo5Fl0#?en+4QLbs9y)u|vGd6#$;#b9eo0w7TqUC}w8dV4{ z0Y9DwhpwLoEdRBzaDXdNBIR16D>go6erIEGa;~shCL6(s(_(dXdH~oVA+{)HUfn+4HHGEQ^O|9W5_e^RVbkcOmWAeS=vK6p?P2I?O zlOz2wuYDz}wvY8^%*H<=)>5y3M0TJ%x!(w(`x$9`RdV#TdmAtY|9Js!eS_0>bgw>{ zKTqp5)YpPpwH-TXgltySpz~Tx=uV@rRBb$xnUkij6eooDi-jViVLS&Bhs3>76)Jlm z>!Qz+R`q6U41B_P@aBt8uZJuXu=hawj0t{p9_srUe$Nk#V|~3?BAs)pTkKsjCEn!y zl8iXgJ#J?3;XUC06eqY~)$nNjBQYjXlg1PQ|8`xn_;ar2#q9P`2iu)t7;KVBHtH`tTzP^R&4??DMbWqUXWj{;O8!8%ns& z#1!B9^qhb7Xh?$C>rG_ASn;`ak9*RT25V1g(oXpyZL88+!)h#sE)!Q~K!}5l`CI>< zeo`&@?$K_?;A`gZ$0VGU*8=-hUKNkFb&;w?4bP})xJLbZ8>gzOcs@xrgC6T|4J}$6 z~$*l}ktO^SoX>R4pO^Y;EzSI}rDx)8IH)B-dO6 zA0$3-+=<9rr$|~V8*Ad52IF1Vq53RH|6qiS@#GpRYC_4G4xG2$KDAAFL{4EHt#bH} z=*jt|e~8JGb}!r0ZOEXW=1QNSxQx-gH;ZwIQxQq!+)t5c!}ISsH_=^!%$`1*>=)m> ze_1eqxW%PerjP!Q9RNs1nAGf+-Q*SY6f7uF)YCinua{C)sWy^O+yijB5cP>% z=!Uh(70(-NO`UG%nivAAAE(^kp;I`F$YSj>1quAc>f-#b>AHUNmiSHHK8<5AuL^z< z8x0UHHH!k1@|P%Qo&%;D_Ya(U75qNveHT$pJd+ih6z-y3_!&9K5>Z^NSWbNTxp5vk zSQ{qJp>xE(;UPg}9jy+(B;Ty{m2)+r#=decnKvS|cnSzma7$aW?8?B;6r`q!rSmis zt9It8b`wt?z=!@YfBLLXD9K|HJe5Ih@l1Z7&zrXfIBg&^rp)E9us)3=)FPDy#mu%~ znW5n4%9g!UKzY6_L8-spl78$L3CfKDYf*B5WR;^mG9?FT-5*^*H=bi$^gkjUkGF4x z(`E6ksK3C#KV1;da?{7VS5PN1cv>-R@s}eyJIMyUvzuPkqe>*#tCTS<@4xidt&9p- z$Y&Ad?8vBVGbd{txCQzFpJL-2$DF#gjOFSWy`9r{Qo>9*U;%lqqDZbV)<ji=UtwYHr zpRSY6tZ$~S>c}B-Ac~gTzRB#@Z$dS-%CyiZynWUvp}R2 zI3P0YV7o_=!~1=zRC+*PQ5-h|92G339aC#$dQm-sz|mERRHCnPvhsVN>ps}arOT;D zQE6$|;fJ3E-%c2-cQsTD;~{FyVgr6U#yok$$dQl;TEj&u=ctd2ig7Oe_4G3zgSK8mXY@$l2RFqm83rtX0$OspN1qywW3d~#>S;IZe4wEQ7D zZ67_NyV5ETG^**$~9dRAyU+YBsg_e5WED=$cS)VVvw-)1I zyYh&0z1!u>44qq{)TZ7k%;ujd*146p@QEp0WM}JLvxP%^gj+FtIwao4pYKN*8}kjL zBH&~aIQEaoas#SHbt!)VL4(1^PjyrO4n{tJz?44v`g?+Yw*pUHtTZ0Xdt+Tsd(6VY zIY3yp@;txEp^VFsVSG0MqWj7+1#fTj-_Ua?c@@@k9%<_d1_hY%ED$oqKBeGKGWqdP3C z%h}wf-8x}ockt2D>obO@h~tXkz3}$CKGs(}=S^yWUIW7@zY_ z54ubKEAHDF1C8(&0jli$EfR1|kdCDSv!erZK1Z|!q5Y1E+T8d62O{@WJpn77<~~|8V!GvaCUakfkX*czWb)8QrXjr>$!gel z>0N*68+LLb=`|oB?bAVZ1Kr5HfBh*$SH6<)tLD60tMvJvE%RUhs_AJ3j5?w~-)HHW! zr0Jw015g|v7iHA9G-Tz}Fuf$8)`fHddcJykO~a)l*o%zz|q zW8MAR+CPwf%C*dNihyKsidHJb6#oo)0duR+UrOt;(m5}F=(Bgt3DPBStd3$TFtwj+ z3qk*N`jHS1{~*(@`|X}M*%4~P0Q>|f+^lyv4^7`UiEwb-MJ|4vwG?6xvH~^7e(7Vx z$C2G@dImk!IZE*9ir5G~D~_5=)n_J9SPXK#+jg-LIv59?mB7Il!8?wuQJ@<)g>kLe zo##g+g17-J8N)FFig;-^OxRr$EYXScQ35sP@^`nS+XC4#n2s{%cGt@Mh@cUb_@i&m ztFC|+ts7voyuDA(E*r9TwY@H?;6;50G>ahs?)BL7(h;_)hkIcsDEV3dM#Fsef-qp{ z+V=RdoyR#e`^;-4Q_(;=)3%J=Nzl&Q5wj zLp!b4=wI@;!MQhiCqEV+rpb)??Y;nmH&_XNNS_m(pY_SB(IzCHc3u4Ze?$?#ILy7} zoWlmpWjFmW1_rt75WD2S{3ZsKeNqgpW2vTz6y*BZS_Q%iIPy5bi`0AV9!)wFh0I^o z<$49x6`wcRmN=Tdtl8~vW7Yeit5uI_UT@@ze$zp{W}JO+O5?T6%dQRys-`up+r$be zO%#&GWYrVZIZ^onznq)>^iBWtt@NuUm}8Lf2II4Ok928iAK_6(*d{;db|%o#W`RPE z^N$Ny=p-(@b_IpL3XK3qldoDAPm1~#2sp;3ldE9A5#|~+wTahG+dK6G%K!@#7Xjpb z^oIkJQqVpuBsgbWmi+on8~9P}M(8K{L^+zlHB4`p4bOi>D&jJS&_j=vnlKwj-=cpvI6v}Gy=qT?T;ZsP z$AdV~b&MUi+Ft1o?%09E9E49Ur&By=*>SKd6#;yDbwDm5!85lLck=6bFT*atig&5~!cW)t)G?t1&;FjVhCE z_=e+rK{kp|oK%9oX%vM&uV_=M*g(u|;amNMjzhH~OA(|CykG}RE+~d@VLeH-Kzf1Z zSOe(Sb{xIAQ%e-VUlaNElC5S)V{U(TgAsQy?D9&-ZK6$ywR?f@McXPeb@3n3RIwNv za41vQp84hyXSu&#=wg7coH)w3^(x(L;V$I5ZdE>_{S$r58P}s5KkwUHS-^^(*1=e> zY{+BS6>X}XQV)vBv`WGa8>e>NG-&j(La%JH-ftr5+)vN2WXlGG5rQwy6tU-vUHIB=KZ75S!HtSoNty1CF~L~kis zT)x-dD``5-ZN|Bo5Tyf&0MD1==?kFOs_c=de2H?ExUMau{H3BF zMUDeG?sR@dopfSnWWP2ujI6Hu?)q+{`LKk$lKJ>TySH+S9^T0=@K=kf<#f*|e(R8= z?rtQN`#pF@rrAOjp<~LUB8}%g+v~b0BWX2u4ijssskhF*q7fs{r*$XoPvooh9JA9$ z>aE^V52dRL?rRL}5DeZ@s5JT#kDo(}bGq@8f_;S?0^Ktbb2`q4$P|h4=uV_?)%o{q zMPE`EuA$FvZe8!Ulq|0qUSAWJ@_M*6aoee_fSA>m!y#@q=1t9Q83vt9cZ!GPUbKC= z2a?+}hU2IiY?}bzTO!pTL({)SCg6EfFd60y%Yn{Drv>IP*b0MnOGB_Z%Lj+-n8Sz} zu>I8+vK0dMUdHy5omiUMN=2+2ZNDQ2k;7BbV+Ne~;3&En)}RP4`E@{{26bD@6&SR2 z#M_fvYVR&*va^a2Zz-Qv5Cr;jpmCyC-Zi8lQ`_d#;g)iqGp+UTz*8!9;x$cAe1`5{ z)b*>?KR&dl%zdlS@B$lLBlz(5Ju-=14UV8wmTAKLdQA@i*G>8HDluler_If+h$^gk zynOZF2!aO1@;P6CU{8o3v|W`Al$NPwW*7@JU2(9-pd%YboMWh@{E;WUhSf^*!19Be zj99PuyOCzLvro+ac9BL{i?6yMjy4TzUe-TKjMLzCuOuyZc_Yq($e`|ROOs;nfBxWW zb4a#$nbFG}0)|OnC)|N??3|z(KQTSw$_Q7%zZ)S_xT}Usu^&1Hboj>wP3Dt^uCnrOfk<*zixadN&=FQ#}-ck zzy6i)D=@71qWGsMb`|*sr81Yqd30ara2Bxx$PrOtYxdKiX3lsRi?83L{6eSMct?(#WT)_Rm?k!^OkFa;6LaUo%%7PoE| z)ks$_n_4C45}{{`h(?sLhJU!yjq=vst>NP}*g+)?M|^R+t^G{NWq19L$nbJ%vOI<_ zZ!5R3S0m3(Zn+H?*y+4+7P<5)*3v2%}ZI3Vr;*2A$M}CfmHqmQ-Nv`NwN^<7>S~h zgn`(j&Q(4H*k`C5lKOh?C2wYGWn^P7r3ju}z{J>v5-JlQ-@Dj4al;+_XQ;s5U(|_c zTYgtN$AO}utalF;F>Z|J%}g)%ODto{yc)$sOrY~)TBG3SX$}4Pk2h5A%KgxDQwlo{&OD!9Az$dmsbuCeyu;>s=(I#Zl? zTrcafX?}c-iDsAKmX5)rUrB-^!u4>s!1imUY-abO6!>C2V&H&)r&Oum?grjKt#Nd} z!r#|#JlLQBi$xpCW(E1}B{U2p&S6U+t*H8LxZsyiOf;gqxg)Wey3El?c82MfWBT3V z(C@NwsrzjW9YX#^A1*D?=eoJqM3KqAKZ$XefN_miC+H1y+W^)ztgze-*9m7ABZ0wF7U1&8C{9TUJ8)jv+DKA@KrV^N(myOg1EN z=ClG0y(;+CN>SHt8|^6m%n9l^C*Kq}q&>$#!DZ+t11zDmt!HF8c`;}ejYX6B=++*v zrLQhX1TXt3D3d*F*jQ+Ja5_vl;=w$HPJ<$#Op?k3-Z#UD0&HiApLJCF_EMk|fWOW~ z5Wq3I9Tgau;kj3yeD-$yyj>cPshot1;|`GoGs9|?>xG8gI4f|MKVY$rFSFQ&K3=Wx zop0W76@MK?04-qI)JtmzDmerGF})DUJ<+0r9sz{{sISeg_&qyo{ON7SAlKdRJc|v+ zjuAOHvUyMThNA4Y`pKmzsI?~hLvq@QOqH9!1C1^K+3lDyak|P>O)JP?942v?`({Rb znNT|SfMQ>c6fwPl!V{uvq$LNij`Z}*hn{x{k-z0a^p6+89>y~-LBEAk6TB&}T}5Vt zhAq{uq!s)B5vBG+$a62UJX>p9Vin5H^yRSk*PD3(I`z$CTrsMrx*tm@#L+1(Lg;bM zmg(QOvLRZOFt3#LaPGJU8%#DSAw*P~kXKQKN;)ZLN30#xR@3ZnUH_SJ4c_ z?)Ab<@rPo|`3Wj#wf0fc(5kmO_3)rl$bC$o$q&e{6S@k*g!U;qrFTo#U~zuy^X`1l zFWaZs(!7LUWL&YIlx3M+X12C{z=eU+02$Hs42 z1OI+%{3AaR$Nmyb0Nrj*rzMB{v{`Xaqlx^}{zfL+u9l)*>bj9PL#ISSJ6j(l$bH-Z z_mFgu>P7gq9bhmuN&kqfKYpM!vjCGIzXhJ$YsxA5?)o?NiA&)|+TpP3`>+d-ipxo9 znhAgjA?^_!c0x(m!x^$0zs24WcO#?)dn+T1hsrHmG~UtE%*!`IST-sQ_5ql6c)kx$ zW$lH2xd`tJTR5}-!Mno>=MY^;!-V2tqLe-J8p#r&J+DglvBf)DWFo<8FL!oP$7koLLGs>~Xes zJS3GCu$jCd`4d0gP)ab9y_~*c1uGi`Wgm%U8AZ4JXrYY}UtJ<>!b&=r=oW)pv`@vH zYXtS`<2IjN{Ny3(MCSt|Zt~oo`{=ASJlYA;RPbBol3=)Pt6emi?|PY&PRaZkP_R+3 zg`f_qN&ItrPk+}$2>x}Q;mhM^lsW4~f<@0^1zh&sf73F%L{Qh$`l$Lk1FN@fn% z@NyPnld^gjZLf=aGS}9%Um!o9_z-iiU#5fZDxL5=5%}_iDnONu## z>IN_1mz5P#40tieep)rSH@8VDVDSL-;Fl#Zf&-bpvr@|V86KvhbJo9~<*T{+0=C35Z4w-U+38S_HvF|TgXR8p z1dV}(JB4S>)6Aj^l^Eml?^*XR%HwG3-mYCqf*yFuOdq?X+&| zkUG~jO&Pp3Hud`$V!w{^RaR9S6|tNH%{m+BvYjs#eBo^qrARkHZcLJwN4V-s9x(Jmr~utw%du-C)#GD6_!I80mPSL<0 zQ=Yvm7sKBSwGR(Q(c0?M+xe53+^8QsgmTBFbe5c~<%D*Z<;Io=X{3~zTpI5W|OGe;2!(2xSVi6-~ol{*1o>ymiv}g@xQbF$0XBB zZws{0g*ZVYZ3VDLaG)NCib$q0-9o&8PX)XCk7}bB-kABmZq)lh{{Ry#e9Edio=r@< zA?P(r4L;;#{IZPp^{yXOJA7|)y)x00`HJqXk3+)_3*@rz8iRwE#26Gj=79~g>=3L0#5|#`RU}2N7UCh@JK^(;NKG@jfN48 zzWGM3tKsAeKY+CTthg}{eTL@6cR0K0*%)%}To(~VXDokZhDm0?Gd6t09)p|?-K#C^ zW>iTUDFjZ%RzNr;b^dj$Evu+2yYCKtDy7AX6jjS@&Oqz+qRPf=MpIbWTe5{KA6$;P z6%28&&E{?k&||J~$NBWDqRp+z+q;wXrCV*yBYo75AA6Ed^8D&;(7h5UG^;Y7lW#ox z)JVcN{CM;gt@Z}FzSxY38CJ{4eoz1{kHn}09qO!5DUv=EGUo@AyPrzVT5J*4#M*PJ zi2nd~yMV!Bdi&OrjpbOWR@;G|hu<{{**DAA4bE4vtICoab=)^bq=DNb*0HE<%c%?# z%8j>kGUq2G?Kr6JE}BvEZjDY)0<|p`-P%Rl^Nj2vxk2>r)}>tmULE^)d536hADE60 ze|qDplSb6$(Z)}0=1++H&Y2{P{{TCo14to353*QVaq)fkOlg{76kGrY#LKc%BvjA58etY zHqmY&yIcaV)1IJLacQG4a}bN>lLI51b)od71MabOBxDXatBr2NwRdxlO&#EsS-{(# zd*X|WE%E;Vb-Q47uC4UNi0%1#2B^;rafVpq+T)DlHA%`^grfQ!>-bjQ?$oT?PC5+t zsA14nFWrN+SDwAAVp~%3ZdGr_gorU4)tD&SymYRGb-9zi=6mVE5GUSWbJCd|q6Q1M zoZu2VR+YtwL-H$mY({h26%>}wAlWA5RXc)XAB}V+eMsE%e~(taPLXP%vc7l#kHWcM z8aX$SFQiI8O60JHXWu1u`&!-jHPBwzKVr8nk+{M(bmEEw#PBU7XRDv5s zUV3%(tozm8tle0SL93c@-3)&!;B&=wVJ&uZ*1n9t8t-qq--T{?H{uSp@Y7QJR+Dtr z{$K)VkIfY8o{p!3)2{?}HHm9K@hSPL!~Xe3@8a){wcBK8)ccF}OZ~mA?`49*?nTn| zERELA_=ez|W6NytN&XYfeZTNa_K@)Z0L5)MD$J`iY*FKv{bC;KMSdZhP|zt>Di+-(KWa@^;r{@NtlLw(xiP6#H;6MLj@ySDvFn`RckRhr44Tl|ooncRhW^># z@JlZV{?dPF*E~Dqcw@z7H?7^WfeqVp#LlB?E+;GFV75Z`eJ^tF7UyJObHyVYU@vz!%Bai*~)vJf8pxg_@~0k#pKg*=4uv8{>U86 zpn81Xp!Khwd@b<;9a%h?KX)RXtgXYL9YG%7rF}LNFsF!K@5R~Zd3cO0srnt|t@|XZ zvV6+bwQVBY?Ons>9VZOtf$P6``E2ZBO#TRKD|KheQVH+u5j5SLh3IrX23st zjQ6M7NU0lVYjd0)bwoxlPEaC(oz zxbrGKoj4nPVMb3!q56CAwfqO8d?m23wYBp6F|Sz*y%X$qkw^A)0Br;U0+suO zFI;h7i(e2Wj_1c3#ERRL+&NSI@0jE1^sk{lEB@PFF4MGs5BPsh@bg{R*xHCKXP)4c zwuF+zU=F`AJom4b?{B1^RA**iGU7%gW2e@>R|D-8SIo3NmbbHx9YP+yT9TWkQS&d$ z(2>`l@UB?+`X{^^eA8OS)3Je5Vym`W0H0HXT~?(m+Lg+$oX)asUVVlD{5n@RtY~)j z+Q45X-Z>rDE|DlbiOB-JXhpjoOP!m3N3m$y)%S~jBWf4d2%dH2+epADKp3|p1A)}^ zuRHkr1)RPxllPPTu-pXOurzGDh$nV(I{-23&3B&#;kcYN#G9m1lFWJnO?iLBC;rm- zoAR?T`)Y&z(aw6;sfxcOQ~tI%@Upz8CDDIhk?mg)C6X@$+dzvC`YZ!#6N4s401o{* z`q%Us@Owo60EB1ZXNPp%s;gtB+uMavfHp*{!2B!l9B8rl&*BGz^it8=wymn!T5e=4 zSV=0O86KqL9{sEO64S92q-)tnYVvV%yyfb@0;t7vQeC3|02ZzK{l%i#???_<(;2e# z2HXvBy-z`sect$_Nj5tF0C%tJQSQL)_zD96-`0hp7bU$rZ)D)t=C|$jtN#FK{?R(Z z`HX(gvMe6hL7&$(`cEr~Q+HNDjt5%&>;1p}32R;)_?fAAtH`*YMb+mo=lMr$4BZuv zzhmCMKaIVk%Ot6*>aXeC`hFRdBZ!wX)vGVO`R(8LX9WA7O0Ol*_50NfvtVQRbIn(2 zPI%|j+P?*rPTL=OYZfGv2mP-~f=iu;t`DU}B%9ms6(g-zE=qL#>K#T>M3c|7gPp_- z@mbT{hJWIxTuxJuPSu}0`;Rq@>ojPO()}L$`zORdYTAmiretO~`9~-6th+nLo=GKd zEo7L93NJeg0NDL%zr+icweWViGOUd2r`!|~jInPiumJTYu>KVIvOgT@6KYoSK`orF z76TEL=|0(Smlx=lhes70sp-)FVEONoFd<_VMAug#7-*F8=7PKr<6x#{|a zv;BdjkLLZ@;0^~BiK3Yz(-+Kb%tlE*wR2eT^cs{<-0j4T3UZ{W>FrrJT1KfAx9+5e zQpTfB1blH5}OuvPGA#W6T{{Y2SEZgC?F(wXkmJSd8gZkH3;Qs)Ki)SUqm#7C; zu#?J-!VdkNO-T$1x7E;H0{Jt}KEuR3+}12*n==a%%&dkT%? zjiK6%PXL_pgXva08Luyf_1k;7ENpcTCqKBnkIaR#2+J-;ah#5N(If4;B@Qr6W6_V)4m?<5u|16GI=8dt#JN4fB2{^n2xZMkEL90 z-PlV@Sod#$5q+yn@e*TkXk+L-RmFE72rPu34s`w4UaQDF4aYUa{>%bP)YqX_Z{JuU zDn6uV@XzaA&%yA^@aoU|k;y3k0LPmqyX7sHm+EuMF84YK^zbA38+3U&8++vc08ARC zCY-XC-psp3QB-w5(0+BP8xw7^IMqR7*#qW0W3Q(jDzwlOBR9-A;C_^h+tkQyHHQk@ znTJ8#`&44X931rNirY(ff^RTjI%DLJH0e-!!S@fel+Wf4mFC!zaD(Yze0A)K^VY`rXQ!7}w zT*o$Q%(6-M56U^<T*34O5O0zW20{Q5}s8{L~_Z68HwA)o< z*xc|l>s@8PhLTg{kg<#n$8RKz_o;2XJicLek9Sd$HiOU#<(9_LIpL>C9_C=IxyJB& z)yOo6=N~n@NbH+eV{~p#?0aIm%@e}wB(gMXBC0543;bC%(OY;yWoc$_^~V9R^6dv1 z>-e9>y!zDNL!uH%-15KpMNaV;k8?@Ng1<8l>rOr&yozs`*-?NvW^6bgTJ^N>n#!A5 zU9bRGanO2kRj+&>91pu{NWFe!BmM(kMQA;4cf#%1^2^Hxh_I3~^LyiH`chkXT*Cv+ z9jx~}bldVro}7PQCi-_TU-d24&XCoX}N#hS5J@gT-n;e!bIF?xs z<|JbQdsY#;h03c<%iTVFxY1?%D@f7CcMabos|;rxVAUhx^6Jgc%f>scdbXu$B<&>E z0i=><-sPJuBYk?-F14nehi{gR*Je9?aa%#MBO4xX{hJ_(d%_E)wI0CcobheH~I}YX^x#GJa(1+${+}Oxjyty&CbJN$Tsy8-mx6F}W zj1Ap-aa|3yq$osx=>cRQ1}TBlC%>&yypJyH3osG={IF2R*jG$dwG&R-9zXj@TP!*@ zo)^pt({z7dm-Mec@t^#Df3xMMC)X9}pR|>{k@$B{k$@_*S|T3uX@M4KP_2~r8Hhx?QfUTy-VN~pjEh= zZW=`!iSLT?*cIK1u6}clwd>vhmLCpYLucjdT2TH@ZIX@}d+=}mC3i%Rd>PSn--`*W6&X|Mjd2H?=Vyj+0 z$9K+7G19JBJ}e^R?{%%P(rQf3rl_$4<-es~jI<>V+-@CfKF&iF#km;iim=kLllcno zPop`UQ;O8rvdK(tUz?FnYfaMUkCb&Cs*QxoM?sKqJq>BWBDA?x+DO6Yt#25vrcZqh zUkP~2TKHwEiLB&!e8pCH9OgL`@-hM7_w}!}KV$y@_$VdSi`&{wd6?JzeXP!W$iVJ| z{pI>|^sk1DUSY>PbBcOHHKoE$437-4uw-;3GM}wsQwpZE+}bsiU7pA9SHWM79v}Fb zr1{F$_Yyb>vAJdG#w)>pZIAdQ?}Wc;R=DvGhknoC{{R_q!uHJox4dvT7ZHqZ^xiPT z)PaimFZK-h`>RO})xGr5q?%Y&OOzx@Fl_S6(4GLu>zZ5vM9>sSah%2PmCW4JRAE;cm`b`T+!^cohJG)C0W!k1bx;* zIaVD(1RDIm{jL81;FaDs{h40p#2*iq`^BCS8IiQzjV7UDxhLfSe)RzEK4FfHUWN}i zarZG__!s${c#OSC^U{AK%p;j+xs61MuBo_S^{HgLYd9V?Q;Em~n&SK`D$kZp8f)Oz*oYpa6lMvHg)#a^S*zLK1ihcsS?n>gB5dKbm~mqc%qa;e6Baa!IG zVAEYUKme>8Nf0L07;@Pj)xF^_nk%it=53&#TB!UinQE+TBZH{z+%S3?;(uy6ysw0l zTB~pSWyBCDJr3yyAEkA3w~;R2m3hDb=C}{q7`^6?;hP`{YtInbL^J8QlUU*<%SDD4 z_^ST^)`z)xs>;?s082cPk22odBl7jHmSPIJgJj`xo@?oUiBq+g!t342qxS>?ewFha z7oTYiyGHK7cdwp|wQ}`6n8%ikV*H6tqq1Gmt8MIkD<lF4{DV!aIx1@_zo){VUr%7du1n{_&>yV}{wcWwC*S&U*Xc z1Jb-_;SHPWUm9$YSqyPIm30_a027{T(#3xg5IJ!6R4Pq%KCS(l^ab%>?Wgd!Ph;}0 zh-_sX_44HNi0}Q+(!YA`jud>~bXVd}{1eB+-|&|I0Kr9m9r z(t<1VYEAwO6ke_=rD-bxx<4ik&=8%*AKGn{2>PhB& zzmGKC*!BD=rM3=)k7}!b;tMS+$`?15*5+sO;`1d7<~LjqdI!q;77Wei6;{C*BD^>L z3L&npm-{nn5VJ0CuAzlNAA1D9ANS3ArmgWK!+Is}k$d7T2G-@Vh^5paNe}!4wtq_b z{{a39594hM#(xW~G}B;8MoAjKm+L{sZZh2cJ9Tx}U%Ye7K>NF~ zP&Ak%?jM~Yl!H;qMjO(zw?g$R+{xxSDtM|lGHsKgHELNFGx${-jvM~~tx8di>}wSI zpMQLI)b*Vr%T0$u^4j}WxE6OFau<#WGOY4rJg`v82TZK97BU95^-+wR1qg)Du5x$wmVAJ67jn<&Dd5*~iwa6`))S-4yZQs2=hCM5>O=jLN5nI|u z-@asN%8tqo-_(*l>siHfB5BIV^=&$K8V#FC9>!>wdXu|h?lbIYH&M+qEMbcv1e3t$ zrBoW6cK!}qiCI-uNpepM#!W%sO+j_v3)C$Nf!{JeUKP za)k#z!JCg#Ju6w~+4S|zE?qpso4Myd5;dEviROah>DD+L6;Rtiz|MHD&Hn)SEQAZK zd>*=n;hEaXR=Trh2bMliBmVi^GHdi-;}w=}o|RoM zunL{T_U+oIzn{)3g?2{}!T@uCdFQ$7NqMYD(ORr&41Z-pf#Y4TCQfq4zt@hH`pkQu z5LZpB6phqy0nRh{cdHhu48CJ3NXk zw@1_;>+Mw14^ms0S#GA?mH9{NE06KgfvQ-yeT*xuzaCxmi}Od77#ZWHE0FQo%(gAT z<%JfxGCjlgOuCLQ6I?CF+8PNg0FhzF=NpF$o-@#LE7Cp{EsUQH;Yh8o7VpQ+3t!!Q+j%6B^yy0d z0y^t!6l|U%Pm;wTk))6e3@IdcIVTwW zD>*H0Qf}HFLuY0rxl!e=+-C&j4*18lYzsD$)nkCPVTR^sKPe-T$4~zNU2Y8uIAvn$ z+^&4c$IYI=4@1)xHk+j|3|2Hyagf|?@1Op?VC2oOV>eFl`>nif<}Mf#JiM_!)p9Kr zlgnlvWNn;o2R__;R`srk(A%oB$s(^Hqh)th>uoRW;F(rHtLgzD`~EoTSj)Mk^fPp= zH)Qdy)nyEFIv;B2>~zcx-dZYj1my4hDhOd=BR7^dADM{xPx(HTv8LPka7X5DUzjiq z{G9g1bGV~qGFvY#3acm}a50_Lop*1;2Hn9Y82)Cu4>eJ+#TGyS`LV$N0QJ!>mZsc% z%*@yX1OO6FM|$C@N2$?HM-6#m%JN8qckuEu4QJgXlL3`)-f(yyO#cA&>$$tIR#sLH z+>!?FQ$NbFZ?u@=xMQ(eIQtX$3<~pVQg^x48S^xbFxe=HnUt)G2>|02O6u8Wjho4V zm<*_Mm2->^zm0ZKSt@+8D>;)JdE*D$^Qsq?5P1xz#fbRVp@n<6paZ5W z9`|Vq zaW~#%Uk{<@ zRvXRcXLDhJ;9iMdaG?rq}9giG6wS$w;tW=O2cfH5$}DwRFTKt zK9!ApG6+2~D_UjpEYVk<-%8&PZEQtJS)uVZJ9YQ14I^5)(KQI}Eu}F`nE}T*1Q2*U zbSAOwqzJsX<|^baH}lPPMV$Rh(7MMW?R>Kgk&JCMrD-<87jlKqTE#)KMP~c8e!^AW zKBt0fNXw|4eeDgacRB2RJ?m1|*(Z#gg(tD^io~%yzGmTlb6Qqc{zEp?p5xxSF51w- zNnY&eJUOdL;jKbfw~?c5xdm8&*zA8g+VEHH{i=8i#}?Mm#@e-v%ogU-SNSu*${b}I zfym?Ay>aU>xI?@A`&AV1<*Vw8apkV_(2C~7P<2{Hl(8I_%V9@am4rIJGF=N7`Su zpZpSE!+*3D)z^r8GGp+sjDX&{g|vUVzhVay#t7Z%xM6_x>0h0GKk!eCzh&PSN#Xwh zh+1UYZNV(I*GhcLYvl(UqmXcZhXi*O`seTm_QcYDBgGw+)XN>?M5SAz%aA_nXPWK4 zFnj>;r|k>i%Z(Rb(scb}O1g}FwE?RiRF*v)uew zveu)&jan92H)oZu)8XM48fDj+w|3#zuNB{Z*8c$TNe>==%~x~ygW=3~{w?sX@X~3! zyvvksaoXhiWW(kwf z^PVfoY@xD`NMvCr+dRyM&&#(RKDn<3+SvBK%vbfXO2X<(JB5*1qh%oO$3dS@rE|@E zx4QH@mu~IZKb3WoT`YDpTFV@2@q;Q#WBuxoqYJw^3*R2R*DY;m(fHChr1^||5)MaG z-|(*LJuG?kF5=rgo?``%!QE$6noQ$^QUn#$89^v}~~(c2$wV3`yF< zh3BtK=c%tl_@k&D58(yWK~65!V&MD#0QIYi{gO~!_}=>JOuEBwu$DQ%JwKK!zY~9~ zMI7|~+$)mm&#}K?FBx8ZHT|pYyh*35D|Z%`bf}Xdb&*}w3jx63gY?Mtuh0hlv^-^X z7*(53k7yjNs^|61er^833Ux1wz9hOp%^Wt14o)~b$4|(b`q~KORL)4xO8m<|&ao6R zUdo*8xBJhs$@1zoBIh_=-rsUZuHXLE9yYy6KjL=LES-F~qmLg?mo?8{e0K3P%_Nd| zn^-Q`$rp}4k;QQB3m5sE4`ON=tyF`$McUk88u__rSeLA-{s+Ar4JD*$qoTR^pQ~!J zu$x%aX2nsZ}p!ru4>t| z*7arbb~TO`-(eRg)M01d${G8X6$9T#GY~d<;MHm6hD65i$kleaw?_W+cdiPU_{(`q z?>CJWwn==BZ{i1oN#zU?-81J8cD-U0_jVx^})npMx0Eh-`@xa^k002FO zZ?3s-rg%a?ZWcN6b}3RzoP9r?atp66r||nr)!4U|sDfDt;ahM7AFF1+VEb*okARdt z#7nDQ{g+0WNAA)Xn1Z|!$75O_3a`Jnv|T4!oI>}v)`+sp7u_Hd!AH=s&$u;$l-3bWyTcl!^*`hC63Zr@|Kj@ZbgeB}@+IO82UbJn4YR*uuck~20x zdI09ReFMeT`o^ZK_Joo!%`P*$A~3*_*nQ>q&2qgewR53s6Vjl(S;raYoDt1gLzEw# zU|aZ-+}y73v@Cc(J3>N}$K(2bHMM7T9nl_Ci6-C(+Sw=Y>rVY*PN<7g)J2p*w|v`y z10RiFvzi@J4?50Ok#}Pq(E1;G&+!GckEhBux0#Hut$Fu`Z?&0xUv(ys(8iYWi0%c- zG?BBOR0UREKm?PK)C!Mixvau5xzT(^fwhkd>d~dENj1Ey9At7rvMD5eGHc|I+r!~( z-YEDFtt8en!(z726FbJr&I&da4}Y6)UJfx|WN4bRPjRXx+VY>h9Vl3jG60ptEp(PzfhJg?L$pT?(^R zDbbY}t>Ioj66lrdeo&dxzo(1JZHiMP_^n5*SuQ;@9u zDZtJ%Ur2w!OuQ+mSbS++TH@X8?QgB3x3^7&M#!OzaBu<6?%g_eubRZAc8s$a`e(I$ zehz%p(c#NY86~Q#7LrG0RR;tNkVipK%XyCxNxEgY-uY=&iw5X=kO}l8`cp5zL~9FA+Gy`K*s z%14-|1p8Mx<5I@L-ay}PkR+x$beI@B{wWNf8Uv0%6$0tgu$2_Cw{rsBan1+UlD)1+E%z+X65c`Q zDgz{}epPH?iR9zAQ^3Hh9vsqUy42x|eY`8@Dw(A$B8!pB6$IdQI0WEyJt>yDYe7Gk zBgGkJ2nxsNVTaq=IX7bJimf^g) zJqQdG?LOdrD`FWWlF^yQH-8IBo;&{llT>uqmgtt+Wl_#qvy73?UVqP}YFMea3auXa z*%T5-L)8BOg<~n{V?}Xom0WzjWNW!qdHJ!)tG2e%8RL^`vg8m64b#{8ck4!*r#X^6 zsLajtF5jB~f#_>vPt)auNX)JBwiD&R1E{P@jBZT@lx7uDyFOs;gZ_U!{uQBZrz{QT zAlw;7NB2&Dz1OF`L#M$RnNsC>BPtZ*`Tqc(YeP?wY~@rdyKky};Cu1g@$M@*Z=s}g z(3;;slIC6F7n_3Y6$|YHoRg2IClu*yyr`5e(YS$wjl+SHnzf2C*1t;)F!R$gOnZdN{bV>meHwOIQW7<{V3AaFW!{(ma4p|+y@ z-dt*VQ`gkg@k6p-lZITJp5S+^=M8RY8Cc4>(xXu)7~VkujDM3@`p%B66pe=5ry0j4 zy7{bLaTD@Pp3S3{x!`~gJ{+@9rZl*^yXQamQUU1Ao4c! z{{RZi)okW@ILi#+=c|kXU3RBux$vzYleld^#Cq^XeQOr+S}DwI-#PyPR!R9mt{GEt zc4tpEw~5T%#Ii;sXxW1wTy6Ew*NW$L2u;K?1;+Ar@ty~#rFD9=cy=o$Sd6e4{VScn zjhHsp*riS~4)4OQp868sQlDkjT!< zgKBy3O1?bOwC!~Ni=y;y;Q%BMBg z7G~AaU_Z;xYO!kH&x2K1?aOvN4k}AYfdHNd^Q}3Fw?=GP?unHdkIXaHu0p{H{X>amJwUSN93C4b0_CDf`rEV1CZqv>W6$XcQ zCpOD=-=!| z{{RIPxA8=FdR^SYUoJd1n2N6u9hOGGY=i)G`e-7teD$Xv)^dbKM33i|1AB5LlIKG*ovwhHM=ooIEOnlAn z&QuZ44106%kL?lQKZ>8Xg}ul8Ay>DS8hxCOu}t@EX{J9oDYX=|pYP-Gt}phU{jFr1 z;D>BQqu1xfD3Dx zou#wC3g3DekIMb{;f6T^q0-dqzqOW|9EU&I+60m?$3pS|G58w&(D>o-JHvk*d>=N8 z;+-DPTGFn%d58&(yD}cA!?O$#Uzooi{{Y~eGk(e+ADhLxe!TkEhc(M4u(X2ZF?D3f zRmf)?NVqrz;fHW~*R_Yo$x>7*bbJ2*pJT(s;T+{Uklmxie`qPAO$s$uVA41{J#m`x z*J8mEdb zig{?#Bx=eq7!Aj_2d;k+UrQem$VmIXpL@N0vHK+IH_&)jP?`yv>(0C}nF%3CUKbo^ z8*yH?*ZRf7e5|{DOR&e`#%uYjj58{$G^-eNx8#r1vK%^CRVj6B^s}zM;@ocU&q`$8 zA!0IQRXxt?^OJ9?On=uZvwyH#{{UvG7fQT;y>k0`{skY-zE}H7yVB>l>BSw)z9fz= zw-K-W3~^P@iQ>=ve5ucMCb-}13yDep07$qi+?U7l0-q0s6~Qem&Cq|YfAOrPjjG+Q z$>on@sDBk(r~I@e)j7OzYYFADd-6ZVvB!ihah8o_!Q`Kt`O}AnZBy>S58)X90197N zn=6&QELghun`0DmZITrW)r_Fy{42g@7I<};OM`G`FJ2CK9!BX08>AH$Q+;%h!vlFVV%!m;EIYD-Zi!YeB?D;|f6{Uh1g zB$4t`ttRf-Zg~DhR?pBiR==}b*|Qrm?HD6*7&Ug**LdB}r#-5*#hxWQPhZxv<#!0w z>d)HEei^PTu^e(pupP`5bGNT2+Nfw&%Ll@XT`nw19MhSy{CR36W*Gc>dslt%cl|e9 zlX%=bpco#9KjTzBC225eJ|UVLZN5^48wcHwkGuYTYf6-T`#z}`8jdkI>4L44cDC|) z(z5*fLBgHjbM)u(uFB4RmaxXZD2$GsPx-}p_m4b8{uI+RpC#Hcb*sY*s`0!qazXaU z&2~w8w$`sJFj(SWFt#&+jMZruD|G(=A;sMy4;J{i-%i$c{!2#+lFaN`U5-Zzrw150 zE$PK!L-8@0R@PlZNsUBc66zIz@BBayTvm3Wd*ta?cM$B|F=C8H-bp7X^Q=esabc=k z+sh|V}hb`)Cci-^RcDCVR7uIqJ_}<7^oPWE;EMK%l zFkQUuszS?wwIj0NW893K`<~UrX}=8gcxG7|W@Q`|FW0^+ptR7uJEt5p5Vsv%lZ+3o za#O@(EzJ2*(<*pnqKuiV{{Rgm2=k+cZCXW;?r$pD5Ce{Jlf^RI!y3oxgE9{It#9~PT0|C-PKH02Z6E>DwJ&Ljn&x#PSF@y@ zl_qD$@xRW$k-xAnq-Fpda@Yqr>0W#LN_=l^N5C4jgJ`dB=Gn=-PILS@z+6{bsr+cS z(Jgk_Lk`6a$v<=s=DuL~q45&y;yBkXCX?h5%CV?D1`q3BF`j3y2?)Y7Qf;JqI9$C| zcAPm^srjG#Z+t|*@xSdE;;3$$bb5ZJacONEF5fN~unzd)HIc%(1GL zXl+@(;m8>8SY9(ibfs*4*~b{I+sOl4Lc>2RpTmJz{xnVc9PQMrtMYxt5sj6FE$(+; zvn=0e@y3RyYVMv?0QBV=z2o7XgIoCL#&NC~Tk0{4uRJ_tkL6ww`!G(h>Sd!{^DLN* zZOK#L741I`7hQjdUMhyp!b_WmdwHi#${9Xf1A<3v*4*}LKEI%xZmxPPHi~2Uyv?Dy z?d!+?09vI%nbl*D3_wyk1@}MBso6!TAKzVC+(dT(F|ml}w@`Cdw0{rk8p*zmmijfc za7iK+kb-+DJb(uzbfelLeVf^vEq!q#$7ah8*z%jzKKg_2&MRu(+GMh2MNgcK`_4J% z9r|%to)-9TsCa`>dwXlEn@h|vjL$j+Vlu~~ouB}E*MHz|fcIV?NNw(~ByTTqxVRUy zv}gu#xs?J(obi*-r5wnZ#>Ggqv!|~3{JEoSubZ?EcsT%^uTjbCPLabvh2%Sj7*OmCE;6{VtyWg`%<3{lVN4In7`edF_`AH*w@(y_UhI;g>w;lk| zUfcI=sj8~&XvMUIusP=>aniGO7ef7iLO>?*9I}{uNo{r!z(>}aZ%A!w1H60I1yZxlRFJvw^Yr1vJ$jZA_9h8i7 z^8wUwI#f3wwWoxw;@vKx3X$`Gk+YIdUNP-ndu#CXPr0^D-UrpLHw}sQo3)8@RP(pZ z2j4h7t6NU^K&WA8{v0K&H%g5Z*VlU%L>!V2&5^}6IU^$# zdsOhn+G;ROCxko?V-3Lt*52FA5%3DJ46E{jK*HeGZg2TbW6Rj*Z+~tyA&h!V%+fYg zOE8Ra{{R9VKDCE;`(x@Fgt)b|kL7H#wEky&bOhvMxvxN%!kVOa8=#xQ_R$^r38VDu zpPPTDu&!@gJ~y`UjjfK8f2K9NZAq^VndQQSjJHC>h0k0ZoaYrj(pO5!4l-8Q!_+@) zU202(ia!fUbt0UMM<>jBU=TX;D+^cn{{Z8Q`*-quCnRT(U7(q;Pfo+Fdad50uHSfW zJud6Ti(@2aOwDbh+ojdV84A)c$z9m}I@S)W@UH6O^JbyqKM~Bc#3WVwL^0!@xkMa$ z3|BQ?WqaH1HH}qc%;)%<@f%POM!Fn}G}u7z50!E$)FTw{B0 zgl)&wv0cWy@ViHb_2X@C#1~52yp#6Q6|(v003!hYwU;--j|-H(y8AAveQgQ?65~<0 z^Env7A;1T4Ju{lhHD&YkDpEY={{Y3G5-#D8$*5Vw3k}Q!k$?#Yt^vXN=CU;_uNEhl z_KkYR7V^VLt#gc>$I&u6jtQ>kRrqh9+r>LuX?AnNGJ(2zo>I7N+dyJ_0h6Bnaaj6S zhcwM1WxBV~?Ht1D>HdnPH)I?TLCE^%yCUY%jJMxY$Nno#sNemJUg}o*h*=3$j$aJzziDk|Em~bRXl-pR7)Z&s2v#HmjsQ>xbNSbt_?P6;q|1EF zTr_PAlgO7*89cJ^v`nFa&roo~(5UsSWR$lnmDc&Lk0dJT~uW$Lz;VqT6~jm7T{(@Y>>Nw$gQ0*OtUL)A9#IDV9M+jc<)=f zLxl^+%oq_}R9oB3<*6Q|_po_)E%M`VGQ4$=tcjnxUb`#@E0-RjJ1uzl~B`c{ipMY@_geb<*R;=Jvv5y-DDHsd2T zn+oCc{q8!|%Xyh)TmZ)y{A+lttxWgZLrxhnF5geqv@IQQ4nFA^tkTM5EgtL~V7FSg zV>ugsg0)glLL!~)Z`iiMxT!mG)ziV^2Ds8=xAI~6PFh76cHd`tUe+wJNkUt9c z2mT1#rhG~81*eI;adoJxY8L+hXtc9|#A^~T8$+CAwhnsWWL0}dO*u1`q|=u#S7d%= zYeE~czG+`E8;mzjm1E$>p4VD~O_Te}hamf8iu)7x`~LufEcnCW8n=kP8%Z~e^o3IM zX~>`PF|`=ZRCJgQco<>mYvg}}mr?1n+gnd?k==9VLh4cN+i}V`AYq4ac@@`};-OM$ zEgxeXZ8=7hX%v5Ii${XrOdfT=meM*EE%UDf<|7?BJoD15d^po4@bAJH?`D!cx2V!b zh7bHjeqcWD-8?o9Fl!I?n7NNv@y)z4T}N*WcDs?vnLchv7zerU`c}_|?IySQOsKy) z0Afw*Jd=&gZdg3C7KQY0GT!47Xa* zggwXUQLMRd=kG_I@|7J0coA)$p#AHgZ%QNE{44m>MfMMy^zTASRey_b2Z7R;HlRtB z#|y{5dP!tldQ?T*Z{GYW8Rqis-Omc3lUEsEK_4glT-93h;wGsuC+4_p{Q))3&v72@ ztfU-d;8vfBCpwO^cQJ&kO*=7SbKf;c*-8fG0Omj$zuS*~Yx+kkr|j_5GsN89s;9m>?!a>sKLnD(m}=*QSMdR$DlRc7_O(C7T%1A z$Wcz_$2~8#l*xc zHsL`T<+4Jmk8;ET^{l;O=1oRvuBI;1Tu5YM$2_+@dko-u0a(5*u#;Huwf3J5<+{3f zS~)+4Cyr#1Sp5ov_*Q+-#F;f8i<5X_*43WY*3-_oxFBr~PEZ5ar?>Hb6{k19ugK_8 zyiR}P^im%W=q(!sk$gdAwFfOAXWDV}3{7<&G1cDB!~RrKq-Jm3ANH3RJay^(>es}N z4}G`7^UDIOUfGX64^blWzm7nz6zdb}Cr!7#Fv)!!5y^I7&zI*F%kBRFXEn)ER&uvi zZB93`EDLZR($q-L&zSp%QCglO)kH95au^UR1cM zR(|4NBems`YgYdA&^&SDXm4(AA=9I4dpRKhDRRw|>P>mqhnMXdee@;1X*a86XBo|E zEQ-w8{w2xxte*@|U7j%ppVRN+LAeKzCC!An`~`&cjxWE z7z_gsr(WKbz(SvByWChYX2Ei6)BgZ&9UuD-VAq$$7ublTcXfuj5GM^B3g>v5cNG@7FaYt)w!|xulXX zScYtG#sTLakn2&+Z1E#AE_nk!l*pNkY`-tx7+&VRLlvgu-B{ZO{vF)=9)G~rUy8?> zqh0O8e4vc|MRgY%Yo~-RBxu-qH)y4U0=Z>kI(OjxE1cKu+I<@Bf7mCj3S9}5Z0>Y_ zvu>=qZl>2RX4?nv8_PIm$2@!2(ON|)82GyCJIkx6JvOn%NgOY1 z*UdixUPja;jy6@1#?ZxgV=G?G`zt)sc(YWSb(+dzR&y~5nH*#cV|Vp6v{mKuWhq)G zyeENVn!&F(t>ls}<+G0VYl$I@=jVNgYMk~bI2}5YX}%b>TUBOTiJC^(BQr4seKXYb z=DH6Kc&}RV9qd+c$0ntHcZiS(gENkDy#@yzurfZG()f4bElb50_fSKnTth9H{{Tpq z{$#SZwfWg!dq_d#s{#NdW2YjQD_a@!d$(ra!{3BgQARJd9X9IQPL^{JW?-#8Ibfvj z_ZzTAeRGQR9Z$kKU9XnfeUF(60#Dj);gOf->9`;m1056`*PhKDx$yG(+DW`o;caPd zU4v=bVU|_5LVL01__J~wv?(Z+*hU@1?SWFGwTdJZZcx?HHF_AY!z@t6D| zI%Tr|0Ak*1(3f;FLu!tYeco8~QPTv0-;rA0E%7#;;@E8Nw7oLJOO`}ZJd$T^zb*l7 z#Bs^_a6g@MKk&6~mhvC;cs^9yENvbX@E0I~^*+^e!dI7GG?L*G*2dmQfIf7$G26(* zXM{+AQ&1*AT*=l0mY466%MK62=6X@`5<54Icx>S;z-VT>CZz<@%FWGXBDH_*vA^&FYg=7 zKRCet9ASC%^!B5c`xB}xX?`5HgG`=FyXmGzK4U9Oxr2LhFh2vIdeD~ene#TMCB$}d ze2}z_yOE8GKIk0huT#^GF)W>Bf;cV~ADy=bj_FA_AH)W552@)^CcBQ}D>&NX*3?2w zOu%H4#E|>|eX>tJ)k-0DM}0injj8)D*w%MAi|ujHcvC>-jYWC$M`*iVJ+y)D^j`f^;y$bL#oOAD4dab49 zoDxNAY|~s@vq_b1fOTR)>F#~`?NHlz!U*+0^zZbI&z~vA?V$B5#(5nvSo-#%9iF2i ztdkAQTMEpoy|$iDPCe;z^(&bh+V_j>^?Q4MY~{L+9LVt~Vvmw}80vWBgV)-yb-ha6 ztzaNsTh7tvYcjUgI6Zjn#xb5nVc2W`0NE1B_G@_+XKjrts3G(3{(DuOP)1%)v#i#; zljd1l_lVsHVYGdIl=*vxwlg&iR!uHjaMH(h1ZR1MXt%6=$jSbmrn#M8Sc_5I>zj*< zf=Sr83G1FY>DsriH0bp!mKPHpv8XNE%;y+h*~dKMx$S34n?;?ON6X6my@BnK>MNS1 z74aiz&zV`7I?kxA6p+TAQjv|jzE)%3f$RM%nY(Z7i|;Hsx_}%o<#!AWj(t6Ae^Y^x zSqx=23}E$I#nc*E6o+0rk~ytoYZ=Q^%DyuXwzZzsZzd^OuurhA8^&`l*;QBX6OuDt zf$^sI`#LKdd~Lx>!i{PM;K+=HuH++ zV@65TbMqe6(dptgjDGQzx&d2KlHATkyOdXDk%m==T+|A?KJW2+)UiwFMpOHyw7eyy zL91RgS4%06We$6L??m!ln%(}<0)c1p7ph72n^YiD$#)0Jk~$3{?`v)6ryiA~_JidH z8Q@^nHMI8P)(WrT{t9cT{gCwk0PN4%w?S4LeBU~D&mVeMZ2q;yj+OL%zf){KH!NTGza;+v%pv%v zKZbrW+*;bm%@2qpeIDW+#YEm{0TlY;Q5$pVU!y;;*ZdU=O7X6RZKPgF<-rOqvIYMD zmSI2`$6`GXO8kxZ*EFZZS5sTaRz#f0j5?z!$UlJ@u3pQ>TBm?MBVBldLYZvWP-ArV z-~$sGIc3}I#N)pe<5cF7QRt6S3Mx)d`u?ns-TwgFNA}Hw!!kpq_(xP|EJ`G^-KoQ? zFAY&Z>;Vt_Op*9%N*q}Km>Z@p~qVJxAwmH@v3}!yN2ISX<+c(ugwLkC-ICa-N!#n~nr`M_{{UTi zveRRznI%#I<$oG;Og(@7RaRzf4DIXNIit?PkJhR_?SP%77|&YH@lK$&o*ciB{JSmP zv!C`&TJv%`n&y5h-mSlYHAZZ(Xtof2_^yl^=fqQwcE2+@w4&Mbjqs0iH<+wj-|?#E zWZSh*(dgG+Ip4N937@%A93!#_o9{u&*K({!|O|24Ft{Ty-p*rSdx{ z`4;UV@~mMW#mkY7nXYHYz99a|@V23JS-i*rgYW{P?;$=Cx_tgC=oh2Bk_BbDi zD)u_OtL9A6{fTB&XDkCP#5p)U@Yt^J!Z&+$_8YP1Ss^~XVj1U8sJU#~}>P>sc{1ooQ+k8^eXHPT9c;}6`au!cH zn1SuJm)P@O0T!U%XWC`|07#N#!}*Jq7#m0A1%FiV{JFB~O@Au zscQ#pK7jKYGo_3Z-B0`>deffs*qa;mg5-Dy?qn^00ijpzKQV<;;yNs z>lbrat?h|hS&_fh%jPK_$Bd3fIs9wo&j4y|qu5@^yM&R%t}tt9Cx%CqVEW%SZ4 zkj*{Sj@`)Tb-q~%U^vOZBb<(U8tJ1Yd)uexJ0`4siSf(fR+sP(MA5EvDW`2y?F~Cz z8_m*2gXdhJJYbQ7w?8QBUVq>%R9mb0li9Gin8`2NV|f^}WV3v(tFuMbfz(iRgPB*NnUy zVWUH9Y2o`@-AXhIHl=pWI|z$4b4U=0%z<|2Kf{6l0N1Q#X6}tt zR>U{3-D(#BEqujh`EY(gj+r^Y>+e{1+P&3-vco5QFd67_KgPEiB)^w@fR-t@?`LoM z{VCV5E&ZBXh~ST7Z{4s4la8gkjPZ)kVa0VY#-Q@e9_xbW4jAK=&s=2Hi&ENs!ot!t zW@HS+pS%djA1`Ca6(`wa@}zr(jxB@|RH*0<02%fb92PO(*%>})nLr?h03ZIhG~-}* zxa<9DGjBDjZk`>WWihyc&U3e>dt>vcVb$&>Muy&P!bRHgNDddSFmvgjrf8GHQQ6Mk zVzDe3alu2_G5l&@?5Hht%efNb-q*==7O;ZtCDDBEBssT)vTAWf43_ZX6$lsr8e^Q3{XZJ!ZKC@`Egr>2ExC^f(qkOt zV?8Ts)(D|4(#X>?rs2L!st;l7`qgt^K|5I5@gBDxscR&W*e#4~1aSyhZ3iQk?s|K5 zu6bmd&h?f_qi>N{1sO4n9D=Ru$9mI?QHI*=MyWB8w-J?l2{{@ZyB(oWY7 zq&XXWu(>BZckBNE)}vI3-4#u=(}->V0C(la`?r&V+3U}?IHG+Wpl`Is-)e=o0H!nS z2;H7~)vZ$E&f4=1>xksa`DY-Hf8|<(Q(Nn0gh;y=EgE;h^c_0lhZf4U^e}Af)=NJl z{ykZo{LD^b;~lbpN+$5c*JY+@nr=?^CmY91_Vn*kOK>6iqYBQfHwJ8Do_`)5FRZ@R3dXJGvf!>q1MsWI zRftKsRh5B1C>?SADy`x)@aNty|DM7S^`WB!QKsP~&bhVX4d7b2CXw(9rXpGeVQZ{x`PL?bm(9^r-}UjsRkCGx_!Qud^cm0D@n5cUAal zD%)yT*BbLeO5Ljg3cfNi7CB$5XT5wybK(iSIpSEatxnnO-CaTT9P?ju{>b0AJRT#^ ztnKa!M)AqACZu&mG51DTx6KQ)MOgBmD4`$<)Jk;UqT3*VgQsVyl1(rTUj?K2k!T)u*!Co zUNP@g7tk!5HjSFtYd>d_MTS1kNh^cOo}KGQ?aedcvGT^L$I}9<_>1?pT3p!6J-Va6 zb}NuG_+Wk&9lWh9+q!1};I-DX5Dqy9Asm@E1=Wwrnv+&aU%4tS4)^AE zJ^LW|)8Jq1`{A2k66mt&l0&D6B?3j0%9j}-nMnZi>P29F#h)0h{tjyw8k0h@T&#*r zncF04qj1JO$32fD759h6--;vS55pZxP__R6N7L`Lk#LqOKXV&-d0;nXfCL;acs1bW zSeYuEvFV}dW%wCXN>YC7cVChC+wmG1Bh~Jc%=wwv9FG0PaJPDH*cWqjCx!agZSf0I zj^grYm6r`GIXLGzBDlNHkVb*B%*S`qvxchd+NyDzk6|^Kp_juSWi2AJI3v&;j-Q2f zo(}kL{k5aSV@=XVyaH>_CDZTi?_v8}+bk_0*s-~GJ^e9XLwq39@urmn=V(dKrWZBn zVdA8pHpiV>r^6Vt=UrmSE___j$fZ^iLBRB{W%x;;LwlPIkaCItnPx5T^u=M%y3P0AT*D)22HOI?=ihrHu`_)+`B0ay$npJaw&3`A#Uh}#7 z?KIR;;)6RbIb%=jmKe$K6qF`~hc+&QE5J{%G5kbt`;L@Ft;cuW56OCjQTn8O_OZ&hMU#I}_U#K?7Xs zvofe}C3XcK_1k#o;&gsI&@KFnSGBUY0zh9PN5DAak5gPek#5OsB^$ikp}3zxn&j2C znbArvD312fG|@%!sZ){w>0SlU*Af@1F}XjkHwGaUgq~wY0&CZNc)Yl z5()R|Unu-i*3PZ*FU#HX+b@@%qjAeI{LViL_|7%Na$qG*Z!HgZC8N)YSLjoW06I72 zQ$r?4y7AAYL%l)kyKo!l1&4cT?94pUd+nn^V&*-I{pMJQ6C0n$Y;bf3%%y+%kE05$^RBPf=jLD}}mm1mJxu zf}DRR`5DV}&x`*6;HH)mKZ`9UlsA{X;F;Wk@TGVDras#-qfS8(W+=$^aeeYsYCwW@cuP?s85^ z_ceP_(QZ6D16o~qYTvn>@Cy*hy>a+IKT7($a_D*d+6AYX6c-Slp?L$GV2Y9`+H2@n z8Qga9Qg~+FbqVex+!U?6jgT|D0Gw6bA5D^b*xESclgU<*whZl68k;ns;V1bV17|t`tBc*z`!XE+ZJ{Q*v*Aca~s>aI2+h{5uZ z9Wh)^jp63_ees(9*5WmPut@Ccz;z4{Z>@A5D)FQEpI)<&vqubMs094GLF_-qs+^l? zqMefWkEpaMQMCZf*jB&~&lxx**GYLTyjHQuuGn5O0Xw};I`kh}g!pFO9Zo+ivqJF) zaVq@4Z#RedL7P8DVX%yc~>*?lfP76F0;8wfOu+;bxm;Pacq+En!;5tq>94S z_KB$)6F}C>BFOt)hammz)i`4Q&vx7$m5w)Le7==6_N2xYQMN|i^5gFUf1OgdibcKK za^J|(83B4hIl!KAzI`+kD zUg~RkAD6T$+wBk_$I7{GKVH21)qN`7=KB3DEL5?`+`llj;Zf)|Y@hNoC-_ z6UTLRYioR^RU}Chbc#0&m27a`#y*u)(qu~g5szuAo2eN};a4xm8#%^3Y7m!Nlr7|~ z#nOobG-`Q5!~w}T^r?JFESH`lzI%Au-ESpn_Nr}F-gjVo4C1tO^tjON8YtwN-bvSF zo>?kDKhCR{O*a~jnw9jM1-ZURbxVls*C1^SC6yGBlEF{Q*S<-|6}jT1)8o}n$uGI3m*cxh~)j4WH2Ib$~Cx%dMIo<~~R(zN4qnB()Afa9o* z0mtjt{3*u&0Bjpw3mT4*4yOxGYh=dW1`(Ew9FE)A5^E_1nl@HKWLTioV;#NzL7?-P@>WRSfwe@f7> z@YT(g!rXb1ZphlL7B`<$p1+aJUjENpi>KPG7a8Py!246KFD@oU-8Y%#3}EwsI#No* zz05!ON1aP~izI5yNNkOyj^D3JT{^}Tc8rGF4pfs{@g#CAic~XYi6CKybB}NhP?t-4 zo$<#fOkiUNAO5-&Nx4Ex2+8vzR?LU^y?(T7z8H?;5A|ox;5K^a*19WS4@o3ZY;Tkd zug#V=H3PUmZ0!vqb!$`3xT+l zA#hy(08T}6^Ek!E-i13haQ+tfYazB0OBQ$ww`t=hhH&T_Pl~iY@eo^;FsjO(>+I-X8+EUWU*n zj_dF3S=FMZu4&E9x%2-3?IZgzYySYUw~N-={bsz-ZY4is)R8_%AKY>{R~h;m;?1Ai zW8A#w)34UQSGCmezsHXS%cttrQ0f|G^nP5i$hq3sPmj^JY&|W%cl!#p_mwmBv1m(4;G97VYH^z4%q=7tM)(z1-G(Pq|rkuH)ahtCp{Z$IbZGk>199sp@RK z^Xg3uJF>8Vh%yKK} zI$0UXyEe{_)xwXPIp{d6W_%s0F_DU)Yd4t!lY&o7_BAZBhn-GNaBF_IL~}b?n-+3~ zvxYzyb4E*%{_)0YZ7OxSz7e#M+pLZOch13MDVn)5cXZf~_o_l7h-daYNt0wIHpbxETTSFDVkZ#%gv+|So zx#{)qQQz4@B^YDSap_JGMpBdJXFI7#@@p1odaIH#&m32^ct=zI%kW+7`P;VEPI1#H zYsX-NJ~gu?cSZ>$gY>UV)~`RaJQH;yh1;`l&N85$KOVK)hte`2qoZP`_qKE``-QPzVZ&{`g&rC6Dhe*u^r8SF!HwcKUTWAIglPtV2sNu0 zGPx*x4a1$?&ua1C+HUFYE$w2Bi!5!H7|6*3y?XSI$9|a=<$o8vHF4rg+leCDO}OEI zzA!86I5(I3MlO9Wc{#=YsWi7dR7l7bV?T6fZ8lq(5@EY*E^5T~(pyg3hnCsoVxyWR zl@#vzv&g}(-B#!3a=%frmQ~Jrg?Ga;>x7(V~6Eh9pDubWIRdcY(e+jhSagIx=qP2vB&i8PmADwhQ5!a!= z_*oW}ENdjWBXf=0IvvCPtme3CR=SiC=|-EkG0o~0vQMGIZoe#-OaaLw3OOdEzPep5 z#ho^;)Y^kRIIB+=pRLGqxoqMPq4j3vkKi`eXO1TO9g;$mz)Pc;0M;9;kyP*T-*rCa0{e>21GgoXAh8-JE{4^iS562ZY%QsG_UO{`y1?!tjK9{#nkgUu{xLe zSw|V`+LdnCvu^w|PL9?R2~=N9kT|Iz0UYhX3&wqG@|i^~52@z5xyk%XyfFU&WzUAh zI+e3>yaDE}Pvx3V2TkQ^mcg6;J#`>}`VTX2_|*RZ85hm)l+3K(yL6EHe5?=js=6@| z!K)9K_d2P5y@cVvD(#}Vu<14SzsNk<>B3^BGPo>A9QGVlU17HCmTl{hY4XYYz1-&@ zk`GK(ZxP^KS;>~-Od8-(wEprL;6LzDi<#|w6xTNQ6GJt;cJiacAx0adkqOVboO_D+ zQLPxoE@MR&=&Z#L1QG}5&3=J?-uhj>ukg0|$*=~nzzuS4Ps*eAD!NVeI- z3-564BccT?FaQAKfz)%&P`gHo)N{Biam7uhS^c8zV*AB_U;)Ryea5L+@wYU*2{PN? z-1&{=vs=j+Ex-klmy`I_iz|sV-7%z!StF9?_fLb3$Ur0jt$l4_@E2S7Y}UWqnoPDSGH#Al!z18*(BmT`(zA?|V4HhrE^mD3d>x=} zMtP7kH#?oO=eJt*y$9lJcz46LdUc+aqOHAzK1u^)8#8qIn6M>}0P=C1@y&VOmeB1m z#*ES`l2CObx}OaAD*IU1WV7;wR}tH-!1G;JHDBTkbCBIWPzgEd#bNCfoAWi2<&LE* z?RQYtZ>2tDo8fK4bfP$SH(V#(;CpZnYUVX)ZtlW_j4toGsm}-L{wBN4b3wJ!k{Dvt zUhM5HI<>!)sK*>ACv$Q9L=Jlj=BIg{c_WSwF>{F3SmX@))x?U{g)Y4WfF15dJ3yuTH;=1d%ZeIMngc%+lFF{Mx+em9k^HhNju8G8(LaUl+AlF3 z8sT^mJ79t^2>nmwYAO6bH0v7}WHM)dS0tWtK^3PlI-G>5aTJlcZN6JzAnV6-T2}hC z#8#zBstCv0xB>c$DgT^{%)Bgb1Pnbpp zubdEh*~r5N&tF=<46|HGwlzLq-YiD~wIT4FlEhrphy{meNMcBWE4Y-ls+3_@l9FiKbY~V4{QbvG)G}Ju6E| zv$eIkk!~HlfmO0-SE$hV;~SooO50`O-4y zJABOG)}@|-8(o z<{n$N6oPO*y#5tr6IfqIV+ZddS+=+vSo9u*iic5E6ETfrWzJW>;Y@opg`9btrB>U8 zY>a29BduAIAr+Kp(e05~?rq$#^v6ohNfqd3$1ddk;_blC-QyJwwWvj^MZQH=WeT~C zLi8MPF;`?ma~Bxt&~goBwEqBOz4H9FkIW%J!Qjy8q_rk4+8oxed8VLs#NKp%xcRG} zo@;on71+%e2X58KJXfbn;oCc)@=hZ%4oem^TSul=66x_W?AQ8vEdZ|f5Hy^!o;q76;xMjvU z!1t`FN6+nBUL~__KU%tiPnt+&c#c2WVn3Ly)U%S}O{%QS27X%GnKg8Cxbo;rrvzne z=R6OkX<0SKi*&bEvNTdga*hum)dkY#w%fT`cOK`ZX|X{LH+@vr)b=OsA5Z?vKea^K zW!0XWsa{6cHwp^j{#NH4`Zu+GtE66OpAx(qBo|S`eQj|Ul`L{DGA*XzxOqo@2q@b2i= zDZIoYSWXz6_5T2SK8K3jBI$-0D zD>@jbN?eoM@*;HZu6)|ic`8-@ZKojmRjoKJ+^q_>dB7&K?Dcr=qg}*&+z@)LbzcNL zA!Xv9iI%pyi*B*pWs)u148s`SF;%>vCThqYG=u$HLQx;O0Gx@JJqcc)9v^1 z+qcW-Ho(V>6VRW>74@fyZ2TAEe*!m#Eqpx;Ef{YmNL6ENX+YqH##kI_%A{M%`LR z$X^!0c@Nq?Ech1OZSuwY%t!l(O?s!s>*-U$?z#C|KnTWo&3QkD8|{A|{4k}rc@~#5 zADgEeN9U7Xsqw$%@Or6YvTswz@eCh&^KlZqpQ*kcElqlUtntm#OwPZ>*NUD=+iTBCj=t>WY5P&@R%&32y{$kDtrZnpAn zUq9t>l^}uF^{%>dN{jO`-w=@R*<)Y2@E443wd;6oW|PRcwb?T7LbF2l@5g2e>_O~s zYu3MKy=vD**E~UaE8%2xK&ZR0cQ$Lqz6&<*4_-*vR%siN&THQP0A#NNL*hRSUP~iF z-gVm)GO%8QJ#+p|d`}oz<=(~Y^!wTLnG~FB%2wU4!5*rfDYuEXxY++EiuE2>NubMuN`GH%TI@^gEiGy4I2>^1jh-Wl{HcfI#|C zur#ft8!A<1`k5E{&ZP_iqK-K^8C6=cnvLA@;O$?Rj4yh(b>giTPPZ*3<(jDKT1CL^ zP)qR>K!lU_$Yk67)0}=)wHyQcG+Q&3Wd6}!ae3vlG}7c`k^mSLj~|8Pit_64O*2h; zLmx58Rv-W{4-3boZcXu1N3pbqW@$XB_jym{9kKv%!TRx4=lIK`g*JP}6hq63M#;g)Z>@PB#0Im}bx9_*7#9b5Oynsw_qiQxZ!faM!KAil%x07@?R!cx zSL|_dLUHqM-JV$0%XA6%v%9&ci*2(v%lz?DTQ1R-Tzv*>>9;<5?J-117jrIGu+2er zB!!01%A?YyxxJ3vzkABBUTPc3a^YhiDvl0%{sa3tbjz#%032z*V2x#(-pb-4 zS%Ud(DT@c6_ECr9R;BRPr=oarC7Ly6x^#%Ll0xUy;B`D_-n_J}c|Yr8*QWN1H@rDK zmwH5UPnBtzr6U}ba!US$R#nu=f8zCaUAFc?osM&jqdBdzR>sY~U8<@880n6JxL+3Q zui@W^n#A5=X)d40hEyd?`W7mm z$k&x>Dd#~l?cA~{QayOCx8hc#{iCkm9ov>S`#SU2XUa(SED8K;j@D;rw5g0|Ywc~P zIKjn!H=R$~VkIVh#$8Q9iizD?Nr+VEsH*|6yjDMlFBAM`TBmhv;JBt&ZpR-zH6xQx_zg@ z_mTeqdIudnjdDH+cE7NhOAXgLMY9~9gxjF5>^`(4`!)T30+(ag7UffYL4^D=#p zBmKJsk^CRLkPIoYkQ44CgpcHF^VMSCBR$#z+_`WhV`Q z*%(YJf zPkUh%?WdU-j@~FnzD@HadzMA}n@?Z!n$(uUJDX*6^CSJ(Joojh z-VC!kW%M^marS$qkQf<<%e)bT(Dcr8UwwO{!YlY=!a9b%u3N)n0?9P200q@}_auS! zCc7{b?T4`*HCD56oo?XBsCMhHih!3kAmOXGW#bD`|*WMY{6s5$rrGp_zi4qOp zD|P3PNUu=Pv@3s!{{RwhrM=cAgH^a&xiuTR$yL=G&SMxE?o^DE-MFR96-TMkDn2(JT2h~&Bl{+ zb*Hoan;&LpSA1kI{{URzd)LE138K<`33H_^`h|>F8bCuFvP`EX8+c%=&)(Iw9uih zosQD0wk_H1$K_c!-?cV_ePtw8u<92Zh$IMthR!j9Pu8-98!g1?&Q9$1{deM}uC3tZ zv4=s??e3+UGhQvadCZ_L(4?;Ap`IwF~k3o;lw{;+$!Zc*`O2?$jI{m69 z9$W4ki3cpW7{L{nu3I(b*UQJt^6}f+xC>v6y4B_4`92oaW*}sFR*yFw&&oeaSMi^X zyhi?AmxZ-tnVjKg((V*0_Wl!Dy0oo(glM}R@_2sd&na*F*H!-jRz7cf=cY1w#z_N) z1A&|^W$4yF6Rz)3X3_6#;+X9x?Chp7o^!h$j(gNso)7qiHPQ(5`ITlZ5fV#pka3Vm zC*>IR6xC`@R!lvU-0nO*;d!;~7Vhp9{mdf_%Ptud@$H(L<4lUq&Kcpkw@EGJKf5cx zXvP5<1ZR`U>0E8^!!L*$hn6F_({15Y`PARSp#BTqrhkE+B$1X&jcY@UY}(#!?2Hul z;75+0riWTK&^>}T4!yP+fo`T)w05M(T9( z?tDe0s>r~*BvLmZZ~!&bQa$c zwEG#=ttMF+7#ynZbWER zlpoTWW#SKqx^XhYpz^v7Xg2_RFFi;T57dTaSzOwvGGCt5%Z)N)^ihM*wsm ztxaw5zT*ASQ%$&&3P|$p*~<~fT-QZ^`%c~I63CXeIu8fS%tLRQbK48_?^?3{(puCS zOxM>99lVzDI|zlWjHH46;zy@7T-6rM8Qv?g%UXED#TQPKTKIcVn{i-OtzBCf&OpWp zIpF7$imR#WKM-yvjfRD)TgM^7w6GX*PXq7c^{46|w2r^xTZM&Vh8dKwcu@+ouq2XH zlhAbSij_QN;`__7Yc++^UrDsX1d++UK+0K23a5j?98>m^>dv@2E!qh8 zWA~SFuRfo9^r-Fr9eBdx(LU92rzDHZ$Tbt~!3qsodk-CJy4;qm*U%Lur-kBWj@>{X zd${YIV<(E*U)h_*`sRsws7E!-X{V~Z=6k52*a=WDtW=!*+yGC?c&z0n{?L0xdwzyp z-^1-zTOTd2EMYk2K|8(=9kzZ|j$v&CO%2w+rOaequB~p&sgF!D^TjT`@Ml39zcvflH=e3(%4&oJAwWy$)F}uu(b~(lm@fP%~3;zJxFI4y)Z!>saOMB$hcC5yK znRg~gI2hy>J-gPlUjr9Y)%3->)I6J21YVT3-?!)EZdi3dI`m?ABC$L}@Os|kMtFYP z=3Ql;GN=(jz~JMqM?TfhOOi6y?73BMRE6;W0PJCP@k3RYTe`l}?QL~Qjp7L8+{Gn3 z#{dvGZkgh}Kf*t-&xLe7B3SP3?k=txHY#F>DBX|%s~SYLH^FR{{R&9x0=}&-&VI%<&)BX_J6?FJuB0GMan4nZYaFC)cmY-fzN7b1Wv4s zRn&qHq4uqB75Gl~!n(}XcTqeS5V=NHToGA@GLM3-&N=k2LNZTObILY8j{TN@Y`s&# zI-RDSs!Y;as|8n(=O7+4^sl;nBjde4$9@=&;?32bZO-e{aU&nrza;JETMLMvxzGI$^3T=l4??vd3>r$%~*?VbAr zNvVs^7Wf{|%f9Ao-7X*%ZkLkM#na{)F39V$_@(i+Wf5ARmfUBK z(sl>Gdgr5vl?Tf&hw>F_YFeY>w*9L7LE(GFwziJmXPQmMNtCxfwKeqL+iNw@+Z>OX zHvLXd^R7oy(B`z(X0gAvmd{YLl*Ki?sj^6zbp#sGvAJtmqX#Ux!REb6cGgR&%_-gT zvh0ztU+;U>s|eOvqbzo+j&WACX)R>at>m|DvnXVlGt{1qkJ75?x_!mnt;Ep5G|}4) z^SYsBiAf3z5x@kHGJBfpgVRHvrrgGdhu~YSUfvn57S=0?mN%Kf+X|KdxdX5nJaff# zUlM#G-w!?@>Y6Xx^!-{rK2}KYY-aPVZqusBjs4OvdE|68%ELJcyRhUBN(}NUvHmGI zuBgl1GWKc!{I# zk(P#ftr274bZv3*{6F6NE{&eO8Koc6y%Xbo(@A3ja?0(I?S(bL{0WcE_{riaKKI$} zVULb-2_*jjD(Sv8>+frKX%sWGGAS$wAP@@U`DgR5F0`Da+U|EkI@;YAiJunc(_Z83qTw!NSqH3E@=6Ed$Oq$9{yAMLSXo5J_~b3_MhEq)-?ER3 zB=C2M?=_2f<7pNd;~R$yy-H+$b<6y6yl?F*I8WY0E!VMPMRrMAh0JKA>q))(ecJwp z-@^s|&+rMEv4#@6F!~%r*RAfh%cq;kPa2#v43uIRiD19jBA>UBhs~0X~#}g_ZYlYSG=FzI$cs}rC%~eU_SDb z!&H{HZRRkEh}?P}^-XNRKQ?ej{qs_6^5k56$&BQ4iq%FbGc{U$%h2l5&nrgE-9`eQ z-RbRfEwrm5NZmmMoPmy<9xAoHxDolAlriLy=~6YD0Hg0KXBj+<^sOT+E3{|K-o%X~ zIQ`s>md;l_^GwW-yK4qq-~&>_3;CILO~*el9sBmHu~{*RWM%{U)|;5~GPSmvW?kPl zM{b#>{{UuYCt`hwQ(aX9v&j%y?DOxO!Io(=xGuL)w-s$2*`Sv#eA9{jI9gX}y zhicoN&^hH*xX)f{FR(FaK z#?`>&k($!dJVUDZqgaX?%d;dlsprU%pj0e)Rlpy^kb3s4{c3fGQMjH~SCz{=gm%wA zrCs=Q9@`6xrrbW*`;ZmqXs;zya%vAl-Gx3_^Ot;QGg|0VG;Ou|1Jee)r{mX(27%$N zKFxy2ZS5qzm!1P3xH0u4SETsrZ?-+XrRCvM;3{VR|7F>xFCJM6Qpwux(Zbrrj+85VT&+@Z+NW9eRjZK5sG2~;x0j0R%M zxQ{@<6I?l$4C3QfRbZ~0zus+6G^F1v(8tyfnWo4I`^rH4Yl-+-BFJr1yIA=nBm0s| zAM_RIS2|Fd(UrXAB}q9^`g8p2i12rZFT687nqEXLSgLZDB6^+QgRTU=8q?Sl^1`5#-vb}gt!u6yN^j!mcpYkwgkh4`MUFW* zF}$drjs%PW9CWL?gno9LCeh{;Qh4+Pit{~;-B%s;xum46bB6t;t>(V?H8+tAcM~XP zSjhXs%9D@BrG9wqnpv(I-C8~wcs&)kBk|5YhQCbwdEwiS5PUxJZKG-KWGW#vT_$Icbb#1nOOqzYgxso^D(8oR-0SMaL2*&Id$mw6P_<2%vaCH@3xwJkP ziDIQ%EnjFv}Iv4>WI;?aJ?36gk21!&n^M!zZh z#fb-s`tAP!;F^}Yu7e-h?xVNV8U>SNiz6xmMtS3opm1xT&_Cdtejn3xd&_(6NXXK{ z%Ol!Bw{hWz-af?i{vMpy=u*bTtv@5?`DJ@p_zGQC=I;GwULQFwO?{)`Z-$=;bIU}IQB%b{%DwxPhJgqZoG}?ap zJo8b|z6WWA+G~j>X*R1fOF3j5dy0~875oM=+rs))yEUXy+pKZf$c8|;0hr_#Zlspv z=c&amuloewYd4TcvB6D{{U()3Ee|=E|1__A1_UWNii_NAC?OR1ct$GNFOLCpRIbgfInsLhI%E# zEZ!VT=@bQcuI?o;a@h<9NI2<(o}WtI@Zap8@YXGA!s7n`!*=#MdlHuuT5j{Dj0}K< zn35fl#O;5egWq# zo@+}z+z~v|j_DpGzqTKXHLHl>w>C+0ag~n_%uaH1joq+%)s0KypN*|#R*zRV6I>`( z*i}|AMthp|?K?=(^n0sYJI@Q-X|}djk@F0H z5bOaY40FwL=i{f0uO~)^_VsQUm1Skmn8(m#sPwO)ti*aZh-1Bm#@0EdkhF4zE%tGh z&IU;UWMB_UHGdLco7t6K=gltel7?aP9OZ_6e?Dt!e$%odRnqIBg6M(T&?f#8^dxeY^1YF(=b*C{#oqXk%OF`3kr@e1?t+Cr?s`s8p7UKN0_$OC5&7i z2`d;pfs>qM@l1UqQ`PN1ac>I5jCV*u=N-xVR6pByTUI%j%T!&SVh%_HAFtj#LI95vZ8+mFw$_i8A# zTWBs-w{zV5Hh|6*7PB4S$9@=YSd;b84mr%`dES_4)HcsS-F_Fm`$v)ljo;@nH z*TvhYN0lYKcLO3ryA81P8UFx1>o;ASRPf!5l313s)Fihe2_Jy*NUgi4UBKfY^cBv% zlUvKot20NGB@pd#)DfO}$m0}y7#aO;rLK;PUHFNp-D)VaEF>xj(J}WU9063V{9iBj zB%(XG;|6tBw&!$&hWWthfH*vkql{K1?x7=UD>lX~a2ZPX$MrqC)y)S{)BHE$X1|+D zx7Dro9NSz6jwg0Z5<)ldl1lUZDt)SblD&;Su-X&Ez9NIfIx$%G>35c@%w>o>i|5>< zk+>{jSB$Fie-m7#-iv*u_;lT0Sl!#hBe&V^=C_tO=J`~dN%vR{+p+JTYUn@VCYoC* zH2(nfYj|Y0`!I6|E{GgSfJbt}mg;-)RJ>i{4QpKRy^fiEeLVVohVQaNB&F5?(|}F~ z1GQr+X}g^Yx0%3ra_+}K_<^U~Y7kpqZn#8|-2{WmBxfpk&wSUf_}})EvGDJV?AF#O z;IMRf=G%pja*>8W2XM!O>0U$PF9Y5|qqeAFb<^gRql#_A@2(C2&Uz4fSDtv{((=;o zHN2VTNg)iZj#@vMXWImHKH{^D)YHC)RBFLR-D-X5pzF5&AhCvMr;clRfGX zb62%ZAW07IGjcV2WBW7y(UW{I)xWd#R+3E~Nt8L|{>|HP9-iLS_eO&~mxy$j=CYM< zEbbIMQi1oB@;z&^r9C;Ls%Jknv^*E%&+OT6@o!Et+bYAYLJyZBfthjHhaXJW#=b4^ zUH64Gi@PmC)@W`mS(VX-3gD6XSL-LkzZS>v&suxIr`YNqbVe4A;Yq?03C21Tk9zVC z+Z*85gZ@8RNqyn{9!(3x9SHN4t>o%)_dy=t%DLluZ<#F_T&=V7Vq|M#eq4;?Q5ad1 zo*KIE8hkU0{;&T4t&06O_&M>bO!%Xr+FmS?i6o1z?Bt%m%D)?L3AsV?^1qO;SpAuQ zYOPb?zPk)JQ%P~8xxrJCVds)R!m^znZ&OIf`=j>B{etwL+Cxg8T+n>IFUA(6`BytI zm!Na9P(6D$QSK}AkHk6_r{FIX+-SP>jGA7tr#{*3rWhl>;n;)J5!%03z5@QyI&Y2b zEvAa$L4cZw9R4k`w1gS8DqG>bq#>v9*5VU;QCY^ zEbuK#MyzJJ;Pg3pY`I?M zlq!sRm0aZdR5zhymxf`tny+mnmhH}Vu+Kd+OOq_QVh2IRbaOjg$3)HVKm8g%?*KEJ zw;Zjr0|iv_DxCJ-LI(MEuXEm(2};OUa{3zHp1YaJEz#6|%xo`wPvZNgz>HkSZV4TB zss4th_~6TR;+2iIpDr3*Hv98sII3j9#@l*(s*>nnhL_pzcAr}A9N9n*L2o58WgfxpO#C1k+zV) zAFm+&MP&F-PqvTk9%DwKEZ7B-E#g+d8%Lq}xFe82HE`a@4(>72Be1WV%o3Gj(xY`j zU(AwQwVvx_dsUCEKgf~@`NraZyV9aUvbJ`wxyK;Zf?kJ&M#{P5Wd4=Q%VtlsE2V=# z`IB$&4tirW<7M`Ve&Y;r!Qj>A+cZkCux4Mqnr-c{h=$}TKQ%<@>u`+vGd=Xc@3VJr zPW0u|+QIg_dJGPgV92pYmHCfAPhnNA7Dr1SvJGX*9$y z$Qe(~ny?^_U`&g^!ui?r>Lbo~bLJ)F87<;8@GM5{54cb}Pt zct41)=SnN1_ z;=X>2n^LIXk@RwlP>df_4_($oI*sSc#z{?ZS6chaM`Pa|do12$@N6g2Z*UaZtIjsbG*a)=wyBL#O zgk0_1-+23)$?+2TT1~-O8aXyM&IWd19)AwMg>)ByWaG7RJ}!b?OIp#i_*O>yUZrlc zl;C+=w?0pyRU_Xu;8CN@)E9Hq=eoN+bK!r5t@JMe>2^$;r-soZX$by24bAwRnx0Pz z$zdFE{ibQAnp~n3`B89kS+kSS008QG*GJ)vA+8cJ%Bt{3)~CbxN{8#XcUb?xq)ECQWtYn%AU~tN1a>x^7V`~zjn*i`S`d6!XJ5jgO{5rP>O%u&5 z&kTNa>mQuM2XS16Dmdpq!|z&`I%V|tvE1uBmIRO!3^N4`#AB+1fu29z<2=@txOWXG z*b;(fVHv0^@K4*mZCD(P+9u8ShA%y&?>)!V;$ z$mgEf7$2uOuQLn5_&QZxYq#ojRnDu*9J(V9L(;8uxTB8Z)67d*kCaQ1ji7?edk*~n z0C;1)YF&7TOHC=ETUnb_xR3;RL$pB$4e~BP_jWkOI%bIGk59Q)z- zGIQ6CbKD*UbXuxggm~ncm8HlL zf>k73jmpFf@^Qv%p!i`HjTWsX?ztE?T6|;4hXc!b^NJ^zB%&2tiMa2d!>Hn^bEjz$%_|-q|$MPq1DRBzty{$T)f^A_(= zcw5D5qY@Q(igl~}g$NYy2{y7JmTvd71lAIrGs0f{|1{#;kCT>j7c z)}7%ijZ)uBI)sWsZ&_7iIAEk>KBV#vFfpJq`yIe$igc z%h~lf%bhTQ(nkx4g6!$?jOB6^dJcl4eI8SzD?BqZdByU`JfOMfzo-KT(z_}2mD1#! z?Gk*^0K9;C999I@_WFg>M$a?~r{G8w#pBVY7;6w9kS zt805^j@H~;qL+19MrHK})2JVYd8#sLjiK+F&N*6X23ZbOlbjLHuUa{mQF64kI`13! zT5T$5&grgfVPOa&CME()VNW4<6VE)?Ev;La%PM)R2_xnNE1omkJ!*XmTfDc1OBo-` zYscIok-q5%hRHYtWb^K7Hiq-Wut>=xP2{+Z)UZ$p;CI0o!Q;0TR%wb>wb9D!b`r*8 zX&G5rjAc~il#C922PUJ`?yMo3Y%%P0`LN$NrgC`qtu1m0wCLC7^CZVAKZMsY_WQ`* zPbYG#4X)f0N2P0a_Br{Z7j|mtv0AR6mkQD>*1@Jn`+*9L+2^h};<^1s{@-)2?+2LO zNX}2aTC<8sXI;`J=l&J#+x4ni_lM+~_w5@ROL*n-_XH}Ny5sWa8Ko%d9PZr76yg!7 zj^yC{jLq?zQ^3vP{9aow>1RbQYTscoY2Wy3POW=-WJ8B#|;N1^_; zd}|ZReAcZTqb3U=#h=^j;qHrX_I(Qa=U=*wSQ&oI<8y7= zIduRG^Tm7*`(OCB%i_0<p1T1%1;!^868gy2+nIG#{L*xa@krq)h2|8Q0e9*htP`oXZA_` zr{(Y_qX&oe+1gDeRtaw-G5-KWW1NroPw8J`SZa3qy|S{EbzmI`Jap?`omwi~(b&Q- zsp0Ic^qf#;s}bVJ(Y<(kHWq-@n3~C4*_b|78;eTk(F(%j5~UR zU!;1gd10MSn*Kb}J zWOe*&qCBrynaNo6FMyvPHBW?B>dP|8X@ZRt4D1Ab<@7cBA^R?V)Y^Z6?~3hy3;bWY_)+2*ZWc-8wMjveC43RnJALXZ z(o$A7jYqNiqx(&M$Q~K}sQeNvFQG8szyn!o3BB(8%N&!>>Imsx ztNTU%&fXpUqkIE%rR#Q)-$8V$=_o(EhE70qKf>6@HRkh64DTJfqe(?f{CN9XURmwh zRz>VRDl1ulxJdr@%sW?Q`%8Y!ULyUId}!7hsx|J1aO}1kqAnItIojZT*B!@xql)6R z`33FjNTq)EN2Pn1d_*e8ng08-4#(5$S>^_TW_SMP?w!VKyZA%m zIrRNL`M%7uLa5&~i@G*_xe9&A4CG_&OV(yz(WILWK6s(FS# zF{BBU{QIFXqB)(1Y-8rd`m7)`sLMtW58{_V2F0gU4{N;VW{ zbXtKnLA&P1awwN;Mpbzo^V+k2v|c>t?y>2d{xuxh*PM2%ebLQNCsDbYL6nXcjQulJ zg2?UW6P?_2=qi$G2H^+H!=UG-O!Kr~ByL}D<2~z6Rz#(7vp9M7hF_M1ot$zvQ>|m) z7!0a8;QG?Zjxn@;bVzj5z0baW9L46|HO}wi$RzLuYk0!(r?e`h?r)drRs1NQVbT{S(00K>Xyi<)O9_Q9c-lw7FzaD%= zEw&`vj{W(rpW=UrTU^%Wmvb`QNYWpEa4VFVcN~q`74i70j&++otTcIPq{_ERs%Q4y2bMeg#!oGztKh@_b!j{5!>2z!YR?-TIj@M5~E#Q6V9LbP#wX!}=MmnC|2{p8hIdpv*nbRTRB)so{e1!aO>0`)E$!rr^F?iLr~}MY;R)aj1D-}m z=}pm0SL6LLMZP5Eqb5dGTo3}B48I+60MA;|?Q0Tc9_0QJzK6or@hTY_V!*uf$-82P z2MDEb4pbcDw`zBcykC3cjce`Ng~YqCAz3DH&av+x2IrRVSd&DT&Gv~}O^Vx9n1wPi z$Q&*Qr%zgv!KStI5mh|JC5h{nTy!|=!2Ih~Cv8Ey=uxwejo-zb4CMCuR^s^XeI+Edu#inW*e>Q38(#xEM>)oD2|tBax^l8@cX>04 z@Xe&3W4Z!Hg`|O!J*>d|zrv^N6f;|G^Dd_Hp9X1oEu7@@_*TZV<2%h?#1bvm zp>1`k-F)m4G5duB0Ayi$U|;|S4P1}IQc0#M-7U@Fxk$W=c-~ni7%W%?QoMR+r#QuH zt+|Z$IonG~65?&1bdkcQRg-x6Mmzqsx1{)v^G?%RMs-+NlHnM9?bu_f<0tD;U3gOV z+DR7SW`a4glO)Jj8%WCI9eKt*Yc5X>GFkreMud`9G*r&OJLBtGQ=Xv0o-IaX3Jp5K*K)NJ)H2WgSD`&+AA=0sI>Vh9<@$4c}49`SU$*jj6K zxM{N(jC3ctKjc$smJ&SJ~xB z<3GDs3x!}Z$0PyB&jYEd=19kJx{jEJ%gabx&XPbC%kaIikL#Mv)4V@*avDZO5ytyQ zTnrKpGCJU3S3wlxPKD&SjyaK(ukRQAU#1A>ziM@qjJ9)0%H@TH}o#Q@Vpd5^`JYag$E%g}UfrGO) z=HRFqUtEs4$3arZGhH{AAMVywRVVJY6z&<%AY=*yN1>hJ{{RtP_#abmv&|%Bc-tTh zqa^1881MR3ZDQp$spN;{EZ-}IAmbcyj=&n)y_Vc0(8S8XjL5?*r?r5 z{u{fFc*9KFb`9znebdig$BfpbHg}ipXK#4lVzGu#-b=T8M65-d?F#NDK%;0@lYy;K;u+1ztcrWCD8n9zP0g?W08ksyj4n<1viok2pC006bS;saPhL zr9mUINY@C(!VXXeVTL`<26*F|$9R=dzFnd~Bv#w)#ZzuulH%g^Gb6eG07Lsckgx98 z?a2G5zt^R6zA4kB((mo#lGbZWiB!!WnuK|XdN4f*?~i)u+_kE@$gZrza4r0N_CBBC zQFyCPk6F{8k|mKPRoO0N+zS#;M54DQGjBuAXYj<#yJq}yhrgfP7nNqy~Ur)xlPaXJX>i+;khBdf)$m7gRR_nPhO7cf`Furj=O^bJuBw_0NJzll$*jDr~D%xB#^8zu#O3v ztVcWoeL3sezM*L0*P)F3k}EF`r*I?Qomy>s(b(Ba=-|I;&j9KF0JM&uCD+*P?DZRD z*%L&&MmfTtVUzUDd@JM6hnk1O-F{0AO4?X<;Eb=|Q_zFl8vPEq(+-s@6x`lf?}bu1 zHNyO1_*ta_KB8D+@a2^l+2 z*QHB-eAt6|UR+Hh6e zTC*8^wI}2wf>?Gq1L`ZYMy`yynm-LbCh9*9HPyPZmO&h6b0BZjd)Mh#>_Pix+xYXt z5nAd}d5nNY#Qy*fPQLZ|bs8y~U{zl*e7QUd^o=9pUZL=J;w0BP43>8BT8Qmsj@Dl` z*7Z>Wm)v^q#_WJOWAvi)h%MwblplajIHx22crYo zf&MPl`J3^F{t46LPlJCJqSLf13*QlVXHsb%*5)iUmcVpLi69JdhVS2+`#bgz{j071 zGTU0|aZIfwga?9F!L~Wc&wP9LuTuT0{v%oVFHjyH@WQUSuQBqS;$Jh%eDSq^kv#_{ zyy<_lOPy$TM-MvBl0P@t{K3_J75JOsY!?Zt+g)k!$U|-386B~a(2<_i&S<|4_1}!| zb)xug$*=Wm=)AaL3=?rU9Fjl--!<#Mws*q+0F6Esi0fMC_NCT>(hoQ+;!$c3_t0>v zJx2o~u>SyL-C1n>W+8$`iu(TmVp}pk))Hj&KD>iol^kQMN=`3Rj=mjJnv5Ow-1Scq z{>dIL{hq!Gcz^qP&fOL}DB_U8DUoAfm?}=u&mTkjSIzbp5*URl}c+O@uj*4mAT*b|9XB5S z^_CW-oS!qfrD`&T2-~^2YbTt{3vDW=ob|RV)+>Mtwp^fPnou;#sE3> zJl0&6H#V)O-pw8@Z&l1LPu|0XJbgi~^z~;eZ6mgr{f|%bRlZ%JvHjndn#u5djUC#^ zxLv!5&p}r_MRB${wzl7s9DOm0((uNG_74Xw#G7|CdxI$TIIg0DgOX#F|OPu?Dh4g&#y`1IZ#|YY;7Tq1;7i0L{w4uCpT!tI}(yMX;FNs?Q2QzS(dmwN785)VQ>z3McWaJ=pH#afo+ z-6qh?;Re+Qu=EvNr#vsaAd=&HkQV?GgG{$yFD^5`ImURaF(VO;ynQe!;@PBasxj+> zM<$mmnT5Rme2eC8P^Tx1XNtWPNfQ9B#c`3EuMLP*JDY0{nMOL&tYrCs$W^;8-cQnw zQ0D4LBxxjXm}4fC#Lb0XcXd0nO^fAKPw#MjYDYnB&h^hgF-J2K@&(hHW3U0&B>GiY z?3B(|_;XinRGq*v>yp%xf1$;-aLwO6>b*lpxgFYloczBsspAxu@%inZx#pk@M7-|x z1fD9_+BOxBkC<_aPUvnb#Ktd?Rd$}4#X3a_+d;3TP3IOR@l1LVP+i*H!th}ozW^dvo z=iZ`l3Ehs}>*ROU9_Gr%KD~A2!v6p^(T={A++$8O}N_LW~B1!2O|d)NYXBT zipoC<^52P9?QNmTVF1lLBoSnMyWPSs>cjJ|qrMpUejg9%R+g}$#cyW{#~2)7008|s z{Hy44DmLb*`sw+n?d~F-njz*SPQ(TZ!Mb(; zo=!)9!s7Ty=yvDv`5!shR|+YJdV^p7SHCB44hKynyxN%!ZTXtdJ`-$kYAHv8Q~lYa5at`(Q5 zJeE6$sW|i%qXNw=cQax*;YT1DPb~Y2j0|-9#-O^pn87#M-rsiLmE3L_J^qCHdVA5T z*5ZDoI*q^EZv=i^P_oUpc6P>~92OYQr%t)1+Q72Gx|g?#Yj~wbDJt_Y z-cAV~xc2Ezf_WTF&*etbNL$N|cE+Ug03Es>Jq2rN`h;Kbj!A9yTX{v(u`-2kJcLo4 z5y&3c!98!*J>i?JcJ65`ZRON;C{&lVTXQm`T^dGpVUFBmJoTxsY$1|aeCe7wmf!baec#~= zlhk+js=go8f3YW!*xnc}9k3q1wr} zfWOFK=N$E`7QQIF8f zbTgH$sgL2`hxZ!lIYx@tU?xe3%I@IsGr;Rv9w+bu>38xX-!;^W7=9NDoc71p`B%B? zpR-qqJ|6fA=He|%-d2#e+aifF8Y7&QW;w_J=K{RT#9DkheUx#+VQCsY(!T6C`M3kr zV3K~6MoqgJsHU!RiJ@v*Brx3ETFV?)OTH#>3LJGK(EA#$nu1v}!qLyN>4G6hw<>(3 zoyVf|;MT?0h-8LnV+K#Ns-3ZhEO#C<7uWo0x5DapnmMgzvyoi08Iuli%U~RFpXFNe zl2*I7`&0`HFljIty1w8CKc7xHs~Sd^HlWhU9CA$^t-IYZh=f&D87x6RHZjn0PAYpi z_gtmSY^+*L@OG~iYWgLOiIVAz%y#)ee4uboKIcD`Up0#5D(RXW5Ik32Vt(>QWmC(c z&viTu{ZHXkwVT=QFD8aK;`8n$^3!V!pzGJ3IQ?qO7i(d?A^Y1%8}QCDIqO+^P@6$} zrSh9~(z!bq=M2LHlk}>N=4~#8TS(MhTo-89%^P->01`WK>rT=yuA;n~6M1T5c>J_b z+nD1WzYZ#%rXjPmSmTc1wswupmKpC&vAz2|GFwT$XIv1+h69no_pM{tnM&FlH*GXg zLlx9vcAuS;eA#Y;=~XpJq1RPer)lJ0m&z-RpncwZ`~3xKcxzl+DF^yL+Lr~TiT>#T z?)i%Ijw-&TYaRTra}}I+u(A1KLVq4lJY)5z%1*;|FAwSVnlx=}V@t0soW!sN1+p>E zTw^Eju3RLSl1#IH@j=38AG;m#T`<&E-bmXDvMA>#I6mFz)b(c8HQ%;fFl&ZTHnM?{ zuq{=WLTuKnV+7l85U2?xn}Qtha(ES5`BYq^O>V+9drEyR)F z1s$MHpW0;#+C<=6i*fL$wf?<0Er`PD1*GtsN|Dq1bA)yRfPHl%8I1jg+9(#vCQ6jCf~ z(git>)b)oz0l&Irq7)Klq(Q@MCm;N)^DqZIUHzKt1I7J_3S`I%IV zkbY8oX0!DO<8*6xTrfEcyPy@**=i|irCeFbX=?1!EBUViw5zlbFxbc#CnGpD&Rl8I zeWU$ZbJzTuPM=0XowYbW7Fj4cMgIU-!voH1kJT+c(>~y>=niYw_01M*y*ZQY{!=jp zT%VMBgItyOgd|}j#=kUpBxDK}ZmA=H7u;NtUZ}r?T zKT7)R;fKThW8r7Q1#L%KZ9)Q(%><@Bo=h@hY0l%7AcLOSHS=DPrY4c&I3;G^9^#C9 z6g(V{*1a#r9~SPfJ{H>eai*R|(e387h{cv!A!cS!ao7gw+OnxyaNA~jcvz~BS8E>X znYq)pzIU%aXI?-0)g8XMq1ig7p`$Iru?r;YGo*{p-W^BbitwM=kM@{TN;T8*&3dg zExq!*e=8$%$6R);wt#cwYTc1IH!8yEMo)7r3tlTV~UBJ@c$y3LgRe?W<03X2D z)jzPO$1OX=KNB_WQ&g2^)Pte`{{S|{a>S9}908jA?)Y`$nfx8%OMA*)Q#w&*xhjW^J4y-+B!kptS zto@tur-U@`8~AcY@@?+zZid;B&@!-LgOT5g{M7xne_?%N;Wn)gh&&3n2S|qgE1R2G zTM}vOy9J`|Qw(ywzMVby_B8#xEqq|I*V71>zm7>Y%|L1UcS`_} zuJ-rGT>IA#qiFY9&zRA|@+=VQ}JEzi6*y69!Vp$J7Yq-Rz7zSqpP^Jad1fS z>Z`fFRhIx~p}^-Ax_a{*@kuK)towUQV>kM}uNKzG=rTX8c9%_Yrg(bBHdc;1n{<{i zc=Hn{82qb&y3g25tiLLa7vs2X{l<{4=}Rs9X;w5cAgY-gvV7p;QLV}%Qr?JFHR`x4i+pcF&mjxc67j~ z;1XWVmg(0x=qkLeG|l&<3yyF)(_2|SuO~*Afd>Ra2GE;ZW>neatz} z=}K)vCgpE4a2f5kn5=WPM?c;*T5cPY6M{mPQru$|Eu=qoM*OkTmfqLp$9xRuwM=%X zR_NU@d-_&#YQ=7eE}MSQ_p`vNvwX*zl1WxTrH4a-ieOgW*~1L*aZ@Q-YHb})wr@*K zD#oe?_5(iOO7p*r+TvboGDL^>ae)vXn|jxwJ@VQKrIT-$YYCT*r;PJn7vhVr?M-@F zr1_hY4(^1WwfWvOhj1lPd_cY<5c0R|r=I1H}Y`MuqGTeW|^eOtA6`cBPs-|o6! z+m-J-=R8JxHdK~fn2Xx6*{KmhAvutkw}jlHe@J7T1 zQOx1BRh{$>GkWZ3C#|MA=De5beQY1V2%MjO?nc^+akeRWr<3ekx>QaUv`?m=0R5uS>EiKKjJb0#&3Q4FN6T$qG?SHVF_Y-WWCmD42`M=_=1xKv zG6m&MD@h&eU*g)SCJa%BTgJE#Vl|TO4qg}AsaQ>cD4`K35O&uPzAJ&s zKfm>8qne)!Sw$iRFugsWR0JNh0-5cLgo`2QKPB@t6~rF-_}zTS>dA68u~J3+xOLeE zhHCjU`igCljE2KL5eZDwmj4yC71W~>r-4Lv3iEYrzZRRO@08@eiP~%bd2chhifxR* zpMiu`n!^N2v!0rS&23-7rWn4&g_o1XCLxh+H>U11%$?R$Z)qhvXY^@?(q*flaz2ZywlgTA^j`N>NWFs@6HCVKw(3 zfSqel>zzv+LL+kL0i%{}T$U=4sL8EPfbOZ4=*frix-!eSjQ6lrD~of#71>7GNhqW< zuQT~zP(RwQK(WoLPkWwdIaMk#Zs7DHHc)Vid0^$`hCrQejd6rK_Ica)7>&7mLE zsdQex+&mX(Ldxc;w(`6OY`&#Iu#G+~uMpxs>WDp7qHTgZ7iH^>G zEq(+<2|f#^rh{5X^yd_%{E{e?`&`-D*QiDA7t%mQEcHzT`-ssiL$0a~=mGWvo07Eg*)+1qVtlor3rmvy|5)t=1pb&ANKdxz`6unRyuqcS~@ zxUqAgpga4$v1G+#(y=6nZ2FA;-x z`us`e7k7D{NX%cSU)==RrsU}^4EQy45wptoEW7uK5h&H)c03Q};N+Di?|jTv=0rrx zz@6!D%cqbhV9seFmwAGtumjC>=6XJBdeAtPe^ilGdp7G7JiSkf|iEYuBwnvdXi`fyJ&fh=fLq@O} z=W%1b1|3SQtXVcBQ;$~0z3CEV>0*fcbKG+-5n)mKrMQNMFQ?1-_Dqhy0-)Vswk$4T z=I(t>N}s?9bE4bQbwefl@_?!#G@SyT(V5eak|3(p4g@nyLdMR;q*Wu!*s)N}YkHSY zr@=`2-ER8Il?dd+n6P_8Y4cpc!l|jHF>y2J=R+>{;WAz|8a0Cyga}DfAoI<}cx!vx zCGImb@t>jk+^1h(eYKV41&)j?7c;kvaOF%JU$hB8h7lA_&ho z_@YQgeVskgEuGmi5n`(F{Aql3fwV*Ebmk73UDTl4*&06o*9LBNe@;0_JzOf7eb|A> z^Er!HCEKsn4;CWm;-X!AroUY1r#Ft`xdq)i#QG4A<*SrfAEJqVr_+q8PwGuu4Sc=_ zr5NwI%}*yTB$jAB@5J)+`IdEk!;#ukg10CGjahU|&L_L_^37du2J=teaq60>lkiWI z-U38bh)?vIS9n%pO?WDcKTg4NdvnOJcCdV}j`Z1%-Iq<&V@ZSuooWi6T8O56$X(Tb z+*ZlVX6$@&;e)%*wmTF11i^aS7lyJRX%N)`_Gv!cHY3>!m*5q0Z1cqivrpq3nN;k( zNU;|G0A15xtnzBV?l#8`rmOg3)MkuLY#fQV2OhMixUQ`7Ft57+&yo?%2u*Y89E{DC zOlhCFM(1@rm*BHKgQBjU*NBlZcd8cA(dx4;RE5i$qI~p%J|)qXvr{3dDSE{9wlPT% z!3vguExY}eZ%Djx)GCeTC8rsTJiRk$n4y*ifFwb<`;|Nn~eC9yv5Vykf6)SBY&g(vk!oA5*bQQX2tVbfnatW4N>cCp+AX zwI%|sDZ1|tjMpAHUuGM?O=9E_GX5#rruJkO1my)XE@Ua|q6hbm;c&{cy*{IV3_25j zA_$B%tAGwNRKizTD;!;v*?+k<^N$W)^}-m5$=mm8;*_<1+1avT|JQ2qtNA zCv;t(R|XaWgc`;=ykBPnaE6WdS6aoFZ((n2kDRx9aEzo~`A5l9w;ayYxhjWyP)s|v zyW$^~HRzbQIcW1lKWN6~Ws}IXLq`xM2aUU2M%N1ocY#s)ny%t^7ORy`2iF0l*i z0XCDZsWNZJU_0qfc3O`7)XOA{TS4U6?yHNn>nU&%YZ^l0{g$t?`3S`&MNfzIOL2TP z7n<;eu^No>weHiW8OHhxytEr{m$&7A`9?^~O%KJw8p{}gt_r!Z0ys(*^M=YUbetrh z`p^(|8n!fDF$8SGuiA7pzWn?q*w&Li_qsY8md4LQ=YS?aTX1xr1%{cRjBj$hzgOor zHQ2c{x4ev08bE9bS2g_WEfkowcJke^1nsMLEKUxY`N15>OYnni7K55sKm)T4N$yP~ z%!W5car9SbywaYhd290M=qYxvA!I2J@LbOxAbTFJ{pYm!qmi+GF&C9{V#L<1`ypPA zzs~T@O03(e@KEAVL(OdK)Q0Q5_H=}^cJPnp`h*^52Nj@`UwrOE!c=1gdTaI^NXXqy zXd{YnqZNM3l@@@B-6{Ikov+=mIn~u8+2B6yjLiPE`Xu}2AR>Cu+Xf+ZQKhr3Ts#Y^ z=zZKxsCd;qh>*=SeHnS7ycmuwzR*U@99+$PDMayER6!7qqq=WwfUR~dmgD^5^yvNb z@$9oY$k`V+j!*VwQ&xX(r3;4)@83g+(>fQI-(j=!u>y|%=p3b=#2^@CR%XOF?tC_U zEDPrXw9G_CbY(tzyH!Ee#3>c>J9Bm-Fv1 zqg^8;<&o0EBq|2B@rsM)5kN@jd=Q9ljbMg^Yu(%lNbUuTy*)C*4m}-QuM!#Q){7#Z z{|A`n!iZ;KH0(&wSiI`+kJPXvJK-M6)ZIo2>yvdjAr}zDFWJ0@fm=G`QCAzp(=2F( zH8};JTv#eWGAa3qxdK%~V)>b~21d~KtrTv~k>0&h|9mbhX;N83lK81nb8rGJYcEMt z^VqO^;PFeoJ{(3+7zJWD9Q~=k#^V-@OLp!W9lTN|y(gY=dv#k8B%3YVTnS51$m20t zH@$Vd#`kWEZ)qe-H5SE zhUI}d*~Tqm+=c>5mj-_bvc$SyRe&%IQdj#$mk@NXEac$Vtf!>zOwN7_O$jI3eVP6i z@7$A>IUT?4oS97(>)-1u`W9)ea&>s^1p8nVk!MNDaj_5siO;lqVC(bwY<^#1U|H0H zcE@MFcrMOpzCY^Gej_x#lsG4=T{noPej#j9k}@6DcONW`%xZzJ_BZfwgn1vc2PC&e z>Vz}VZ<485c|Gi^2p{rxTqT{?iu$u`K#0-cJ`J`4K{HXJiv&gdG)MIe=Z=?LJmuwv zoq!-&kD5?9=w%?PtS>E3L8cyg7c;Kg1{@(HR;v6+BEyFm*zJ`rc9VF@yi&Y<-FF`y ze0^ao;WH#(>VSx~8t(GmAmCM@v2ldmYmeb>RFUcAj|Ke7?!MT8?CPZ|+tsj?M*h{+ z1(V*g89?v-^yMrx+9eB+?ppynkM4T#B1Z(EHO>L11|F=!NC+!;U&D zXO-MfU)Rdp6@e!^K}`_;jw8zvZS!;fv8GLh(7>gM;n+SPu1~qw_aDF|DD{N&^UZ;i zg_eD$HfyPng(s|qcOSthcja1S>-F*EzUaHTShZxleWyXW8N}i1Dr}s?uFk+w#x^}w(vDnQ=ey>|IP+@>|@AZ4WPJ9H0q)H$Ds3}=4lVzD{a zL@L#r)#xy7adwz)&LPZ&hPrsYm&`Snw)~Z@p-@s0Pp?y`}6*a|lqLOsnDAer@ znG5&Xf!>Gnmtp0*@1EtuzU4|^7iWkZiPlj3pY>Es#vbnQJEKhvvSO8p-pNo z;^Mv$zn=OLTs{L5gN}K3MpYRUNb%<){AAzh^>qBN_En8 zhq???UEQAqDY4B-@)E#q@Zoy&C9F_m9u}%g0n}iLJawhaJ1GV4#yf{7Yl=IK^Gi zH>|EZg;nB6F3Y0a$;12e>hI52hw2*Zvzaj{Q!ZnlIp-fWKX_s$DU$zAW?RjGFX)7H zI*s;S9}LPl1-sNY^8KmKAuj{Q28)kX^3P6;CP&uW}qk!E~b7Zb;W_H5~Y{ zlR%X&z)0n{7-e5BsvOF3VrCWTJ#h%t`1KEP1dAT+SP9iLnBbyP<-8TL4t+X|yD4w4 zse%t<1{KIG025}b4P+eUY<7KfBZw%|oykJ;LFx&n#)BC@vbHIid9${aesPRdVt;zQ z`PFsOuzr4X&ZCX0J#x}2xmxAV6{bI#>mdub+^iD^JM{R*-H?Z~X%ZZEZ^M~JxB1lq z!JOT|Ei5y#oDAGO6-9VRyRK+%<~xGD`Jsxa6ox-6Gvm>oV4}hvgHi+q5{2nl!v{W*a}YBRkDcw-mEm2j2xBg5SDLMtb+=- zFbArgkYfrzr2}}4fuA;f%2k(UmIY+BEsxV|D7K)vpA|8zZr|!eK;F<$`z8mcPw*vY z0fccXVbg*ckoh!uCp8!URx49D#ffJLWZ^4z9&4&B$XKQTdOI`gM4dz&>-YhMZzD?t zXZlt9xG3M)>Fb@&R-DnMCcDlv=io1p4*`qqPL|HxZ>hhAHbTj5VjAldM91?OE&^|V z(6vOsw@MMpJC4f&bou4L zI^~J0ezTjQ?G2YqgNQwYTS@&PnzZ@a^3U;o`F82)F~2LZ?rXKK8fyWlWbWzGnpTcH zUNrG*k^O=y#d7G0^Xl-PFDw4C)a#6kOYHN?TLKV8KIQn{XRPf*&bl3h4(?lOuoAs9 zwYsA@siNDf92ahVnKLQDU`|Z!!kcl6Stfs12(iEwVxkzw)R}GSKxh2rju<81uPxA= zBA3ozFJQC~>yzN}@Rx^uu!e4Nm$04%v$A_UVmd)+&eNP&tU9nd-zdRCl+zXeOG=>E-_3o z-yWFM#9jlUOR8CF9GY?;J=316PjSfqkjonAE|}YsWUFp=pMsdSK2H|xl4KJEzQ!uJ#iP^waB(dp6J{>{MPtTN3G`g*?{zx zEBJk*fKfa;GA8c$32VSU1rHr+uId!AA*q&K3D7k(Oy0U~Co~B%-thQrJ+B zG?)3sq&!zX(no$IyUiFueNmJ3LjNbozg&v|P7CkMAfE0FCl_kw9<8{Ee$9X0I9DX* z=~T8zxDvdg@#7D95C8aWRqBOUx_xOeB$@TT<&&AEbfQ#pf1OB(j4uGr^5Z%6AHX)_ zNvV_}riMQ=Alod=8>OiiImBlx^2_aZ7wz_9#5&D+Q;a>A?~gCxfErkQq-a-y!v60e zP1p%R=~bI0i=xzEH=Pf^;$3dZsw|JO()?)m2V&nAQLK$GiL>3-7tP-*5oA!OJoXD~ zc%4HSyA~8xCWf{>ScPC)I=O#1r)Aoo?K8{(VowuD%OPS=yIJw;|Pp6ePP$%-X) zuA&=)mi-^VtA1en8X7oLT+X%~kT&w5warqUSnj};cuDV-hZVh{bk|d(+mbG_SYI^Y zNor{owIJ6^(MbvVdY9h^=|;T}Hn4lMCrj$A17vaOSx0MU zxR)UK&|OR z+RtF5lHZy+*#=?tIvu(ZAM5gIlg*)Cn*zALZNi z`~7t)hFLE?m))g48q1dVnU~t&%C+c!bG(W9_Bg;KS(!h+k@fV17%Kj<-#$`2UwfYX z4XRuo-znnWU1a5xxLF0lvWm_lVJ{`c0b;G)^PIs9;UrUr{ZFxC?*P&Zv?=HuLW%nz2mrnwOfPFUMhRjFPr%f8!4YqTOQx+3qse-_Gj{LfZX} z3}u}$Ln0F|!9bC`*GC6N;vr*fU2_~0A>XMWnRnU}wuKUu7x$mx{#j>YgqiF-cN%9r zkk9e=NcIg)Z52HTvWtsS#5tRmPF7#n(wCfU^1!#kPQ~AGPRWxHSr7pA%$_d^;JeXB z!5+WmnAa-o7uJ$;C*ZK#3R1OpsA1gOcjT#nl-T|Oa?#cb1@T-FEE4)Op%&jb#^QQa zrTLUt2L;TQv_w*Q+>R`SJ3dg~Adi19)k~2pJEeGyPv>Wmp6qlP#+7s3SH+j?OE4R> zYoUEFqiKC!QC-cDv@sRG;m6{{c5q#({kfxvP_Hp-)~#dFu_y0Cd+>@>n$~^m!LzhS z+6%dn%5C&GBkHmrN%WDNE;SU-Ur&~fqN&8@kifq%G+KU#ji<78XOoQ54l%mI!H>SJ+R=0oQV$Lr=JEgLoa*2nzg@mo zjO|YSSgEYTvQp|bRwvOG*<)Ab>e%&S3lO``DLfUkZ(J5JLA)$&*5&gvOEZ23FH`Pl zlbv+K${e&n(w9C$FI%4&MU}MUygT>j)BK0kaqQ8TbqFY4bpO5$l z>cJb)j^>}OG?>_BrIGW3nOmxjefd~g8&M3+=elIi7j)DwK99|kFV=^HNh{oB1qDxo zPTW@l;uvCLeECLg-!XGT7C}Bb>Pd5-=h^8n_iPt=6Lnwtc}yERP4Al+O=Y)CoR^T3 zT4EFHj)Dd~KrYR0ME%u+Z#d}^lmFrci9kfR!~qQXwhk+~y9)!K2a@iWm$jJk|!BjM8}O{nHpZ_!i7W(69gU& zs?C|}eku5zScEO8niKczHhd|zV1;JCqla~47I4E^vsNTXe3B+I=iQp4L7#*gCezwt zmARK_X$iem=1WD+gth+GA!Q(?#A0{Woyw!g z@)Of}!;gYT?Gmm~(fKjGDB559A>6UpL-lFY#z()N7m8NlZ=G(|Ma^Uzv*bLEJXqED zKFvBYhGB#V+@585#?{ns$B|5J4@-6GI-A_O8B(%YP+3?r(yO>J{{zH`kxy>+5Xw4N zHpru-(>QZGpRPJ%0@S9*xQA!E-uxDC5-rv)6($wulD^mQ3&F#Z@xS@Yd0kcJ+kde% zT^jo933cXb@`KevZRhxCVZb!oNIbqs5^cin2occ~Y}gMD^4pQ1TUQw08RW_K{+cSe z^Goc}Yk$4QCwvIrVFwO%q(|G<5-fRWd)qoQM-U5c|u9WBluO8h&O_X)B!B zL8Hq~aN{^DN3cd~-W0gKL>sQp7sZ&m+q_+T9$8^hai-huIN5d5*p0C)S zr&NH1-GA>NX;AueEn*pgt^X(HuTpTC@06GsJh=%o2TQ!foK%K=aZm6)FSSJyE-} zS@D4lr?tQBx{gn0oekwZ`SZMrl#+B3nr6%y+Dm5qmRxINoriH9_z_j@jJP=p2^s@B{zYoSt0GnNNVs* zVPa`#TVs1X*A2Xn$jX|CieL2Q45oF;t6Na7m+o%p{C@nTw~t~OU;Vq7{ahQx)CZfd zutjjs zAo2dl`Z^?&onER%z6o4T=2Q5oAw&mxL)q@-h}Wk~kZ061sjPGGt^)PgdJDHxCyV4|t2>c^Y>uXfk%MXNCNp3q*NVedj z-!vq*#>)1dz2KwFtYj1$43nxpZ;G?N@Jh)v)nAAe+1i(9LrDb4Yt-ExHsqljMHJ;>gjSjpz)J2<*!tjHv1R0a31q7Z@-ShCz zZ__<}?SH`HS38P#(IoyBm6JVOMz1GbvtHd?(rwf|Es^c~13XOHWZ6s}j@gqO`pDR< zaQVoP#S3ef<*YbxP+Y_Bs3k=2Mk*f+ZMnHY#c8G7b!hi)f$sM&X0_|3+v7VYN=05T za>KM)jRG~*(L*b5)prTxiC8wPn5M9uiZxf7)J7di0<#EO<0SW}Z|nGW9`nF_nHJi; zs|b?PwJuTSY$Lhpj?>Zk&?m{n;^z4xigenhY7p2AIY^oFMDtYJhHcpbMRMTIn|%YJ zxf!-@Xha-dITXF@@@(XboaI&EO1^i}FWny&mppuAFlgt_W6|eGe==4VTi+`!><4QB z*%)EheQ3#GM{rz4j_9;K`Bo(klQ+?WP8l2uPd4EHHN3${TF$#kw$w7V6fzQRxq|x- zH7k;VwpuOndZ zcCk2@??lC!4@ERgNo}j>xZX|-M+6QdlRdNWL8RmgSm#+eL23fh9&t0wZJnAF$QYd}zCzR7wq?8NXROevDGPO&-1Y&(JX)PEx>{e!92- z$s=K!yMYsJlp0wCm%7l2nck9&96+X6mtTTH2Yxa0IJGT)Gy1Y#_mMYny=k(owLLB% zpKlH65-|Zow0}|KubB6i_P2eR@R$BGTdhQ&w};q0`T>in=^A!8u{FhZZ|F@gWokfq zWhJ_EP35pSh|M*{I@sw}5svS*8zBfV$A7Oo`fgMhKLXWx+!3ei*DcGTzT3F-W2a-^ z2swgN+pB{epMWpX%`f_3aIE)5P2IqoakijGI@-!+c#;7fa5eZr!$@I<_IIbr7I%?P z7`Zs5b#to}TgLF1m~$rgvC6J4mC2pcq5Ksziu$W7&4)2QL4+R7Q7~Zuhv#+zhBE82 zjw)E(7R*TL>kdaKOGN0vYw6AhkM5F2t+bNIo#@Hfu>&9|74YfQWOZfi6}B<`&hugZ zo4s`OrX((gjuuJTWa=S(&gaQq3L&RqyIaZ-gvuq&MPTI8wSPHHrsga7c!D@(>6wZC zWuWnE>tx0FPjd%C>Ix{5oM8=^9~obOU)^nJ+)0BZD)bM$ z8u*4d!3*tUSTbD2u{-7vvaCy!<$c)aJeGz?g#`vEPo^%N6{7nOBog}vnCjyH{iV6? zIL&Aj{a(roCNSwbKLA&hYFuGxGick+#|@%bdXkBM*-(uTwzjq{OrnGC)YJV8uNys> z?KGoA+qfg>KT_%eQ&_k=NAINF7wvp?kEQ71Hc`BTDcW2q5}Q4W4zBGEtx^et=74FU zd^w)SuEuPS5=ZY45uf1rHEmjFi~8{fr6XFnB7%s*u3dfCE5T?+z4TDb`_KpSo3yR_ z$d%+5G|x53J}o5kl#mEh*O3=;m$d@Z@5yw`VvJ)$nQs47l8Wz*lvj;yI@(v`E*UFb z0U9{5If1%Tl+`_{z(Lw&BH8t;>$Yirlo1Z4^YrZ@_Nr^93u8kE?;B8PyAOV1#-{?~ zXj(3iWm_gvVJ%_H>tD#4RHbo{0j?$pbwc5%jjznqSL%BY*&FeIJfwT-`!EX8hrh=#W{8ab|9qz)D4+ex}85_ zn_rpa-fSYLF9k*+wdW^)CWqrSBTSiG%?>L4G0eTc|O^#HRnKB;NN#FkhSPrk_7enFhQ&4 z;p(aJf^=&cCv`kNL{7^TO}x$W_YK&!?s_X;@maiszaj4%Wj)zA>All1{gwkN#+-N;FL|q%5xnYJ7NYsr15zF{3+L)mJg+UzhUm zW7aZkZg|BBWy*u=63jl67C~dp8NssjMfzo9Iw+pgAlv07hfl)Z#78>XLksL$bS{5B z(q5D|@C03cRK4emJ{+Udxb!$VknU=N@&zl{o1;fhx3C3bjcXeNd(R;?a3u;p#ArG)0?M1wtjpR1hctPNv-;<=w` z1)NlCNjN;r#q!kUBv}bA)|e;bJWVKjYxPxRnrmAMKj183&2O0%+y+!Nz1O@gQPi@T zf2ve6VOdg3>Y7&Mst<&AU+mTDqo)zaes6JjUI(J=c-{;JD=^g#*`5Z~YS<*7M zv7Z8gJ-j97S>p@_sh?%rQ^F+fb2WDN=ic@t1l$%z-@t#=+B5FNJABqkQL#C{v+%rrCaNz^q^GHUudXrnLFM?^td`2EHvq=KHehU93^;~&NS+++(l1y)?=e|EyksF z0kXn&ej+o_LFy!FYDw%2ijYSSJT<*>EwgsRtBvI&_4A(oWnS#77@N7t9}SA)S?5Ua z_uaobjT6vaO>ssaz0d`%tP`H|U^X{Hj2YTl+6V@br0KRa8_ii&ehHAxNNc*B$7*)| z1B@&-(In+-w2Kj%Q23Zlt1UM98w4tR)>BH)+<)UW%uI?*XR#B{ZNhffF_8X(wZKk0 z&$bt;Z>E~EQd9I(2MPt@>9C1=%8l-RNJC|jP@Dq+M08K1lX&G$iz_>3V!)>0_N-^%?OFu#VEboAq z)#5mZpt23|k(@c5^K+hyd_>BB!5ZN`_aM>8$<*XQH0RF1>H z!Oca!(YjL_dLnoNO8 zXMQ%KTb{ffBjDkWh(bQVEPf{(LFal^7_C10d5FcFMFrvv&R)Rb@tQe>(tH=$v__C; zi-93abPz8@FeNjyGhITbtg(=qw87kG1&G^@{`Q*wkHz(sb)xf1S|G=1;1L(>);*w- zizs{$PmQpGYvElK>TkHrnARtZNJ=5ID+6WK$$`NWr=66QgWGYh z);$x()6~*rb}Ih*PJ@g)W_80lbex1>>(ML?x86d&+Iy@IxKb`qmx*N*KmSFsqT&fg z?G-6TD%k0av}#Lg#?sY6iM6(+<0=Bn4i~i^Q1`*!rk~7PwQb*iu0&;|(98iMUl1c0 z#nhzT&3U7POl3r7T`hzX2)R)8G?C!@u`dX>BF0{)Q91Y|3nAbtSI^!Xxz{`8dOsuW zrnuF}S#~;hH1WWHBY9`L^~ixdd;=wd=w|&{m+~2TGbNQYqN3X89)`XvZI4ayw>|%d z6OZmrOJ`fm?KquE+l-rp#*_e6pu|mK^vy_lLq_w0J(929md>js z*fjA^Wt~dL85A5)azWeApZD&~OIUegtJcy?$BLc4ZwzI~MJJ~7!l3UKI zRweUOkm%*_sa;x=>0EICET%KhuF z>zOp3;?|c6|Hj?VRWwcLOU|Y$mPrJ9v_@;udH0C6ZZca|$C-L&ZB^f}I=}N%5i{Xp z6bFGV(Y>#8mo#22D5|H!#rH<8lg0Tcc{b{%dr|ALEODNM3B+1sahgQi2v(i$BYim& zMIgnB&aJ)Hh(L+(d%Lk;PAAg%B?9aG7W2um#|i(I zRTYs@@BnB4bN~QA4QLBKbw5D`0P08q06fGR7Z(o>4;xEI%m4G6o88CJ;aE?}8CRC5 zTjwyC=!EZ(5H=t@$w?bV@|60AGg`%=qj_O)6 zSV_M!P2uT#H+P5e*%Hi5u98Lq>tf>gGAQ^i_j;G*);uCU>Sqe0W35;HA$8K7$S?V& z8z<}sLOxMCeC1aYK9VczDRO6HQ<0R0Lr`WKPKi(XBaW*#G$peq3epcQvAfcFNho=7 ztv~9+K(m~Nvz`)zkM$8^m`@)_RCZ4?1hLp zj*AW5erHdi+`Y8#{J$KQ5r4D|;?~;##~;JRo<`_NGixW3<@nqF?;rYcaAWZ5Iu(|DMaHgC4IH`BhUxr+b2)hUbQ-d+wj6DJcXu zJ6>UrpCiRZedZs1EwsbAwD;~)#P&548cwNY^cr1?Kws8S=xN1>!q+3C2a`qfPBS^!TaRyz1L2E{eYa|h6hlMxcHZ;5V z=hXaQ11XN;Br+QHFtz*-$p>Oe+-<53#fn`>;Nctgd%1!RJkO7w?G~RRwfQEaYG#PG zxja9hUo;0a1_M0>-0L@Jhxy)DzTzfS>}TaS9>o1_UN$6PWx4aVnkGF-R%6QmD;xNb^0&nnd z2us=f)tYx*kpi0*maS*1X5Swdz=7EjX$qGpGb#-ITJOI>uLUe=zhGXDNp{5B!V$>O zwGMAoPl9Q)VdL)x$8$#PuO4n%4n#%dvCuV#9@(F}6?#gPrqQ%(>&IBb){p zj0Hmzn9ODE#zx-SlC+^*hKZ47#Zfb(z3_xtvQPDYf0fPq-Y`&7%L8u<@ArJ{H`Tpr zsVH^!tt`{{+|Eg()Ue6DYQc`LuSlu_DJ+IbcVn#khK?oO+j3v8{J~trZ+1O!=(i(w zQL^PNT4`wNw?NKlGI#%^f>2*5wnN$hIT>Z3S@; zXp1i}%Ftvb&B`Cm_6VhdwWeNjmDSHWYBsh{M4{b@a4eDj1}is2d(v-CN=zBLj=smP zJM`f^xn0YYfWdKEr|m;6>z;J@nyp?{4bRg1M2w1?x>zpeOPd>GhRh=qXTB!NsbPRD zzrIRL+~mr?^6&Rdk!i6qzjauY_n=S2`AjtNg_|gEmp_x4{V^zGUcyydG+h3B264 zkDE>?dk?7QA-!_@Hc*(PG+DbUiCPcGSC@|spEyt~3$!G^^h_?cC&7F-#(XT4*kk9Z z-zNV0bD&9wE~wg;Tl-aeyu-|xSg@#b8t-t7=aDSQydSOI&tN48Te{IHNw|NLAl&NA z-5OKMsNDHzC%I(uC?4o8LHyj_ub|X(rB&z2hi`mY#doBuxP3SY?y=KoEv0(KCgH~y z%bspQ4nm)i9sC?cg~MSH4xBB?07d+A_sWo;tA2rU+EIi_o(2m9q~#dJD!!R|@pg4S zJr1zEZ_km%($Ps%)J%|VjEP-ld#)Uey!~`Tv6{f}W%PJ$F0eJl%eqGvkpHESdhH$v z0Q~!h4EV2kz(6zv|0QaGK-8uQAqxQTU&cqQ`LB6!w6w4_<*;=$wYKDAw{x+y{{p$tbpd$$(2_YlV0AArB zA>$zZ`wgH30FY1-wf(Qc|5rkKg^YrVhNu$88$@B{4nV;{ zeNW9PfrhJQ3Z!wx;|fhIK&O?g@55K0Ij7?`a|?ToK|n}EOhV7V$n=4khnJ6EKu}2P zv$Tw?oV_U3wjmXG2D5%t&XzwM|fTpgvG+d$Rc#??) z^?k2txz*3{&D>@%2Bt`z_#G7{qAA>#nV0nbl` z(M*8<|1xoN1!IUH4?x?iV7rQ(H+uA=wQ*%|M)_-~JgO`|TfKobo9c5z}BSh0rg-e$?E(pb(D^5sk;DTpkIs zOccH2Ei(t{A4=VF(^8)9zrELqpv3(ec($0vK`4(`IZBP<{?i6|gQ*64YhzHY(oohs zU|=FR?F04&rPK@Wx+;=1-v53!Oc+Aw+Ec!{d$pC=Jnl8_^o{b&qUA*hd*8^@2XYcw z#Ty?}DAnaLI zkjDjnINung9TI!n(7j3`qm%@DJnDP8$RFzFG_p-WoR99<=LFuN`6t4PPrvJ0IxxAR zZrCr3*T1lh|G(T2wV2OsC*&fOg&Q2JEuA*H56)i_o?mrMwN9@9d)Y1+w@1zo@1jvGEx1)4dxcvI%`*0`^?bp*eQd|__G0_|ayhVbO=<6i@hMZeA< zcmr#Rf`=FGrEfK*Uy5I};Qq!=`j6o^cIW#~wBjgD=z3nGuFf}Q4`W}#ufB?708Yyb zqXA6+yP1|p?GxqemyKW~XEEHnQrHlQQb$iDudVkQIwVePt9^fl437QjcRW|yeMx5k z;;OQV>p%M}^4P1qJJ2EEU;JaNw>C7Rf-*uOs2Yp^)rShQpK#KG0F*4ucatE(Im9Td zZ(k_(3_v_dwg&H?upCR3ol`D7&i z#h)HCmzXQz6DprjZGHhEJ=l(PccHMi9Ma&?Y>ieqH1ThoyFEzBcRB~;aXEg0DSQ`9 za=)bG@PaWyLs)ha?ie7)qaYuzRiC55MQ+=cmUk($)$D{0e`o^_iZ#X>u~RiSLkwsW z6KYumoe+cLz&44VPV1x!M{k>SYKh`W5@e-!(# z=>LnX=`G3aNR{rKrg^qDM}DcC=h6JVI5Cx0BF)SNP|J65_8V;hS?V?CN(HPwef7~_ z6*#Tma_n0=U9~~%e6t+2^C%eSc0vJb5&Y`~TWl4N+Nkdidl2bosci}<&OlU|5=#5T zvL+(G9r2xXPdwMhd8jse(xQG@it#}jc5j1paES0g5;gb2DVM`vUW;y;B#0C8+B@Ue z8#BzDI65XBE{-c^38d}svoP!>QaW+vFzvhUnDu-Tx1PRZ?CBR@PO@?8WZQhiUohRV z^PYe}LT*{;N;*3qWSjhTrh+j#?ZpRr-r2rTHGVUkE(`A_hX(!mE@#1*_v^ZE2jf9; ztLLO^GnmqLlz#B`hHS?&>2_E8`g!x-6(KQjpS>$_=#P)MZ5W@MyWiajkt6g$rcq>q z_jCMy<0}3G1kiE^rS6F#{HtLD0qE!5*O9*=D-$tK1SDDm)_?4S@fcX(jQ%!XRm}wTZusTR#%7?n-(NBG3z_oq+)}s=>r9uR2KDfku?CFt zjw3ye_w9hhIY-15*kN;hZPKqdxHq66zrVW&dGm~5+f!E-e_cH`813wi3_iic(G*mI zoGfR6e>aFA_q}749d^bifCosI{{68rP#SdG~@}W`cJIys3;>aM%I2Q&@Z@i>R#?qwpES{z37!e&OU|cU?9K zcwR@Z8@%xeav60*s;MRo!24gyCJ2{xpHA>*X$xh2cdGMNEyhrTPlsxV(W-H$q|KGR z+2H3qy{TI>P>2Kuk{R}^t{Td%CnwMN2&0e$p52YlNoy@L^gXLJSKL+FJg{legeLk_ zGsy|4mM=J@QHI7B-vU-Yz>dE@v0qq>ETO}Dnjk{%(od`X{ zjd*bcfrckCj!hYDOIDyt%dc923-*?8&e_*hemCGIGLp>zlWk5+wzTWo|AVr(fU0BJ z)y74K-QX!a#3`_G6KN=!R3I*FsoIX+Ub< z>#h0FkKFvyTGTxOo1=J}IQuyOqoMrL?;)^X-NR*QIZAj2l>uUeKHZrbAnE@-AG)(x z0O#}%YE+)UDpx@3eoBw4-xLc?xgarEv0RR839%- z60^Fa=yG$vMwOTE*X+)qyD;q_hia&%CdNZ)cu}3wK{GmOBux%CH6q>2N<^eIYr>rH zgKL{1vM{AML;lLQ@P+i@_Mvb`&SKAC87WtZ5@-TOTuCO^lAX3S z-ZOpWSR9TlO6QHbvp(Sdgc1Lll~CM6eE>dwjycpAJ@;1o^hWOVv2DUYx~QAdCex(I zRh~a_@tthH{YEF>GidDt3GV}UbO(jEL&lR(B_k(Z+Ea6VB7j;w5NTW#G<)~3VJR<9 zzoDRn7UJ_h-Ni^PDs5*$s2E=LcZ~TB65ZDhlzreF^gkXDW1yGpt?0SFKGV+BO<0)o z;XTZ;h%RnCT8*>2{@6(aUTf_@dFp*EZR4-3@H3nB=SzIkk51io9tQCoCfzfxyG4(R zC3&lowph$lZAg75neA!wX4ht!lpl~k0RSaIo*CF;T5oHt$gY2@EUF4F-&^F?UzL%? z=z~9Xd@pYnrZe~6iu3-b+Xh`KT%2H884Hd#$k((36DXJg^EEg`z{InS5O5Zdy_$=W zeu@#!3Sf2F_(D#*Q^iccUUs`eRUY=K(@SbRYPTvm`O4vOkSTQga>}}>$;x5_)fvum z`F{4daYOMDs?%w4*9|UQNK<#_TY;)nG!5|qyY`P!hb!)c) z-8k%rzd0-*bO+qqPtOA!U@^z%Z6IJhAuIKkDs_-@yO3siPE`_TNd_<*kh%aXpS4b*@f7gJ=qGw# z$4&$XQ_2}zAofH#g{zUJ>#zx{)7z6!9L#`z!m_tpJeBUS{tOD~RJYUoqgV&N3|`n# zeFnXIoc3nicjjlQ9AnjmC@sI(jbooi%Z1lsIsjWXME-hf!hZg`IHG=dglB7$N{R{o z;FU1J<0qV3+z0&I)hC?UBjeK(oz?AryK23H%1nniSy)%_X593{PBBGi>{G&bbc-C- zpNwVd#{TA$5CWm-w<&u(chQpA+G|!N|C??b=kDkk1owEVybwqP;XPyPZ#^WaoJs0M zlU^WujRJ@TIppAyrb7c@jbFF4PgtXK+`Zg#8GlY6ALEMg`>!le|}627eiij_1T@rrZ?1rI|YqM72Bj3UCNtBMXKo`Z<>RHRz|G0p9s8 z=N+$XM;?zH)t^BLWYrpHGzE=g{H(j|+8dgyuQ$Q{_Y}_HuE;gv#+%;ji8hKB#PKq*`Duh7e>?3~qEp=xe-$ODVfC0etbI`LqF&I< zDhyW6G5gSW-+Q^wK-*2iJpu75puSG=L0xW**(Rh8h&a-l-YZIPAp;obJ+Lx~DrOfQ zI%%KT@4+!R8DZ*YAL1DiYtZJQI$ z7?%{&lo5J0d6%rvv;Ae1^zANax6J3q-qef-QDX!Ffnye0vITK_n<1qjNAizF9`A zDPCO3yV9l9CcVc2^HZ&9A4@}CGXq24)11H_Qnce}M?XRC2iE58z!AzH?9U*mSmjOQ zkxrSV&J38~zUn$&>1PnMZ1p46_4${FiTJduyX-T7rO$1SfkKG3QBygU8}0a&R~P>8k4Y*y|;kYzdx&_V4hgfNgzA z8ctf5U3dz!?$H^lM|=*9Wy(JZTlR_rG}v*ds`d|7uO)4PeD@?1=r6 zChUgfpEKTR?@n!oZ=mrw@K2U%cIs4uvEvkNOxh-dtU_%q3?|Kt=#^3)M?UtHh*EBE zGm3qoGQ++fZ2kg~cA>6p38{4z<8 z7o^VYai-7jwV`Bt%fgSup9K9xwm3LaI3jDHw`q+S`&vo*OX5Uhzqs05$t;}xFuWhx$2G zzeAAkaw-EAW_M{J7_15(dxC=wf6KSO%QgSm z2iODEvAV_vM%rcQ>$K0o;EG<4CFVA*udR2D@|nh;4dV8Xf!Eek?pw23==l1`MtJGy zsm?Y=&mw|d?Vjv%J;%^Y}@-fgPNCq7ab zYyDI)ea}}X#)uwn%|Ep~j_2u`4{iBz75K=QGlYNQRgUSCWg*Ku!wyS@tHgGl%miTt z5JSIZ*0H4xm1UAF+KwgfJ7qPygSV3%6@L~@{bDW8k3Ez0%Ok1WQY{mbY}o@?1xCp4 zYf4J0zDna4INbpNA~)0Ip0p?2e`F<<>5)H}TK8FhtycvR5$yRhoat+yw$dXm98df9 z@Gh|)`o?b`8BAl#z1{tBV~pUhF#$1aBwn>>F$sq4^Cj)ef9C5xL|Bwfx~22d3) zjf;yXizhm4;9s>ezk*m#wQ;;5Y+ne?U4wU8p&f61MBg)*%$uRS5-jT|0JJsl?ZB=2 z_1>7njYGUqP1|Hnc4rGaI>Z;JI>tRdW&y3Nyk)OqOSp>(dqNmrSG3!d zKDzt53UC0pn|qDNYU;{R24k$on<@+;B~0p%58EqOEp8q{MSt3e>^=eZxclMyfKN9k zPF_3Pc0O6&{14WPEy7Of#}i}u&{5AIe&ve)(I9>?noma;7v+W1C=$>#2Vv^@<`fxg#plsakAQ)-_6`a{2Xj%Zd1f{D-mJB$ z(trF+cvE79{xQFeuwXENu_Ly4KhWb=7pb6fOMbij{sVc;%Sg{y?rL>GS@bOY2jHig zbYO&Y1|zxNDqHR7$arXxI-eJVWuYr}I0tT%>GSCts1Eh#-HZlDBoK=qATe*5`nUY_VAht zEhEzGLvk#0L?C6&X-XSk=sY)W!topDx+_-}eUcxEt=~-HSN`-|IT&pkO%=7ZBo<^_ z4!>TU^M%?op38*qt|lLPYf+cOA9{S`u;^!abL{^_-_!uO{hlz>OgV04`w-X^I{ZF# z)tPcvHTJCM6^mkzvQsFX4t*<2?fJt4r)ixuERg!_@_;0K{m4njis#kDkZjtS1uS~+ z>|_oKcr7fazQ4COPJB&AfZu@&X{6FN6>vda`pP~ad=fMJd&j^e$>JGw^1aMCAafJk za>EryQqh4|w-v>1T)c|Xxi%+E41CA$Ec_=r@~+)<{zUy=15JOCxiv@#^5Mi-+#j$G zf^CG5z28gIMheJpR^uqJb_mz^nAxvN#tE~4S9^?MKHna7dmFx;Ns)dW==^O^e#V!V zs-3#uzdp}XPCydtvk{Cf&ZkAni79;q{phr#FiFg7D%K9P&K3I`7_XHbzR<=0bNMv);>@ z|(^k%sdMs2>%^%wVn=hbE!_qv)zrx&K!JO-GB9tT zJ8hs0gNv8;SBRq4G8pA>mT`t$Rm~TlDsOw<_BnfQy`Q~=e^Bw42=C=`-fLv@N&WVk zDvnR)@s(f@u#J$)`xzwt;GSe2aGZ~Gj|=jSj9s^v_#;MN$d|ek?AhLEQ<>g++^}et zh7%I&Q58!XOHjE|y;*5kMY3{!Zndt4hyM|6C>IURZr2#9&2EF@&1{cv@yOUHUK43% zsNH3&!6_fEJzf8|3S9^-aW1XxljglA_a6BdS$)Ki5aHf!=HXB4amwfoH2%>K!r(4; zAn;X4?MPzw)`D=5cwiryAg)+p4rA?S5hWf_};kBedvd6e5GV%P| zXoCQ~?t5Xre%0FgbCXup*fmG1g`s{pWgfCiicTY-_xqevXA2QLgGCTa}vefiL97}#PJT}u0R!}m6m6`RGJE@xr6D`t>C z-nctrVx@b45WG=b<6h@QpIu3KSDFyfEK~jBfoD@&P1ez$$UXvYDf*#+F4#bv1#hPw zzo@MI^XiCx7b&MWV9vOADyO1gcG-_uHD5^>MSIBsBHU>AnuPs)lVtkd>w&`iSeeux zdBXC$8}&>!YD~eo(l3Wm2&gj9_0~=LJnGEY5!}V!pyto8fy$H3_$O>#`eA-oe@V{FIfEvB6>vy^JbfU&F&%h_kgsZYtj=gy^;XlKoAc!-Rb6_Cd z>-2{8EUc)tIc|Fsu&|WIA?0YZ`YY>SN?;c41DWQQ7Q&NO_VHPV*0>MSf6oZ9$Uy1q zn8iPqqHW%R?+=Ez&Jj4|>oj!;8RV=4)5rZ;a2;4sQpxDi0`EO$2Xe)nb0Ps<97&pZ;)Uu+mvchvF5$ zaQqCKQ@;*KUYqSfKSEVPXXquNoOg4r67sXIc_>lN1Ercg?ofWqMYsP}6RuDjwz9$z zhJYbWWX)2N`yRv(;wg<7!B&Ca5r$xc*Chg>AIq7mD>u%M{AHa;idcklU{wD%zMUW;4Up8JTAaHS>#Lu^Eg?w#ZEs7UdC$iV_*_R{4KG6##$(rR6W$V z^}P}BC2WPjuA9~OXETMCN^sM0r-E|8RGk#(T8m_{62n}lh5pH5e2kt_pyu}rGT~Dy z`@mdHH>hi1gsApE+RXph)uKGWV&0wACIeUUnYuynalC+B$NH4;Rh861FFG{om-2C8 zyGru<&WLO6GFFmeOI)F9!uQXh&5D%G`&PE@RXI?+-r0fv+hMb_DrSS*nr(JVV~B6F zaCA1!6eGFy<%4IECC}hP`LP|aIBNyIrM3DX#06m-_g5^v&G?!A>HZT`Rpt8kumwV& za4ae4J_CpM(u@OLCn6-6W&ReTz!G3MfNS2=NsuV}cnUc<8WDa%)IIeaXBA4WFy_7~ zo^b@?^czY#+5qEgCFYMU?+v_ZW=xAKZqnGTp6(N(K#;Sx+iCpKlkh(p948T8Ld?@i z{ql`%)69iD@^(CWJ~_K(h{7p>xqGBFquma0H~Rkkr`{IC<`Wx$?Xvk})+5*3N%k}) zXa2I1TX_Qmw5OT8w2`qP5FHxk*`hPb z&2hyWgU8K<3^c6zb4`K230M>u2TV7#MM(h|`#ht2=@-EGlgmu+ zu-+T89y12NjO5Bd*=r;?-bS;Z9#&{)N9kHqw<9L#83&fT8wSL%K{)zVBwDf+YGvjD zR>4BhT|ppUSvK~4c0i56t3=M9KMxEH6&Zi_R<_8RoBsYYl{}b>UhhtdyVpUhIK!Q2 z@ZS7G5BiS_JxyT#AsC{}^+mu{oI(1X75$G(&P(o(0(u>cr(3u=^aJy<*kI&1^xH>N zkb|niYqdyr5wx$dQ~#GCASD+nYhfHHnS842{1uB9Z}UalCLKRDG+Z*n1`8aS1jqZ{CL1)hoZ?0? z*9*#Tw@q#X5MHq5(}v)Ai!M?kv6Xk|;t+Q!r=05F1J)!4aRcF1z z`2C^I9QXd9(YN~_q(ARxM}-@ADta_ef90@CHm-XMUf@4zK<((EcBT*n8yY3kCb=0@ z#rh|GOXO{#DH9aH; z(dFToJt%TUvO1TVs)Mv++LNoW?(!$dfJ%&4GiG|)Uf8kzu)GB<5DBtjqin|PG?NAc z^JW6%bxgBU)t}{E-KLnKR7fRY1TTzYiC5b}_KedqO#)g9UihV(*+CpL zn}Yk28R?_4w&uy{ptf3b^$#PO(mO>`xrlVRME@^mpQ7fCPmT0%sd8Zx%kW9DYvrS= z-?gbg%X4aEAG}KSanYSkN)|zDp7JDZH~Je)Uowyr z#Py{w3Q#)qCAeo_pAEY-4taVLE;V*EGxMADOQgeu(x38H4@(}R9FbQb=u$&q57}x! zX^l-2;;aYAL%Nr+Gb)p_BEH=K@+KK-rJ~<~h7QKS_U=S1sGyt-RKwb zebr<QLsS`^qe zQN2}x=Uy9KKte{wbFjZ0s9-dENa(_dt+y^y#Cr+ilJcgawa4Sv|CwqgVYQ=oot1vx>8TJ zCqjTJuVt20Dy~Jb5yT{QWy-x#+UIK9YXu#|NIt@sCmyWEpaS!c8&EMOlL@iR)C7)UN&8_!hq6E7FRQ~je^gRCTo z+a#BoFEf|}ie$(cuar+!1al)rnQ~A| z|9hjwzddQ+et$Tv!vuj|j(;{<{D&tkHlw=K2?1#tsPZY+o@0{#P>))HLf#Y6V8#^kRIuS37#j`=(7fa#N~O9f@H zG5GnZ!{@@12^mw^@^|L^d&upXHVQG{<$6~ze5auKKmv0DdrufD1F?|*?O-CMH1HV} z-^)~1v%ZR4q5&q|)gye0!q4nhN?zDctxzzpGWVBToAwu*s`pnrI|+E4bGylqf=e(d zrAk!urAlke`srheXp}NbXcW`yz0S7=xdF)1dlmAbj}QoC;n%evtB8xIXXE~KdD{MD z@u-j48a0xWDjtI=%0ijTW?w1dYZ^L~ydtHnvLfZ2D$8G=U0_f2v{Y17G)eg+zKTR< zeZG4>TxoCJAI}fppRcp(#e2NJQumG`;IJO^F%!{5V&-u|5fE4W!bWY1f|6%Bnq9f` zJF9$WB;y9j0)AOC!kg7@rh??xlel54r=}?eYnY;@DN06JFCLd>Bx{jk22FMzPwL0> zUOdb$GUKhCow!NE(1_5swzfBP50gxWEfO*7(wdgbEE?2(-%5u#!>A?kEK`qbUBzw* z3md{+i#!iz98|;6h*Lce=gtU*n!UwxJdYNpjoN)Za6UbJ#0%ysEud%S4UHKu*5)Nc z3X`L8KVI@N98P6K=Wty5UT@M97Ny4Nu%OXkJucQ@J1y5>Gbv?~AhvLXO^Kk1Z-!UK z)+ZBE<{yKJ*+|+Kys$rs%2E4yukQ0B|G{*5@%~h4eu4d1ZkLZ4htrCI36&X&r2cfN zdT|6Rq+|%qCA2Jt6-Cphl8|-F=L^q$TQL0YSH!w|Sriq$I!i^(R!;}bCPzcf&cJ}_ z5>?9S0@>Ho6}oj1ta?q3l?#myM5*YdG!3fIAyis26^;#j(BC~Ds4Fi zdCI~%BKU@RS@C7s)m64rC3&{fWgaVdVSiOHzS%cp0}YEARPn!R5XWr!6ng>OWaK|-xo`8$Ztv->}Jbi3AxMs zj+>Ap~#6a@XH8_l@UE<76Kc zIvamz~8>`0}Y#GD4#tkKCFOXnBo;-S9{joEmrvyU1K#$ z!feq`xp+Co_WIYc@&>BQPyRy>%5nQ8yq=Kn<8* z3UbGHWq(yGYnb__d>WHxe;o0o_NjA90tZ2ea0DUW$2iO~+Zuy7}$9Fr_puSY4p zR>VO{EVFK{gu_ak?$J`Sy2EORVWmOygr@V?S_yRKiy$=uaZzduM3?qjmud`d&3SK> zw^_pAKwQDLU*e*oqNvyg8YJ`I6*W)W(%96=Tk*6kSGht=Zx%Hy!oQ!HZ(g^Mzg&rF z_TgEyJLAQ_-zB{K#)gY^-6yVj-Ljq%yGUN8l0v+Jq?r=Tie_@#^3n#Dr-~c+dqaIk zq?r>kny!bTK+~dHGV-0c&J@z~6XKqnBD-wnm2nVmB8FjQ>MN-pGlZ2L+6%lcL3+D& z8+)bl5sJ|}@DlV1IIjB?+A&yR?@K$&03mkc{^rpw#B(75C!dun@+-&Fq&GjC&7)TeYqx z94{F%;--hz)MZnDk-|fQ7$~I&)s&1_Z7MV8r()jXSH3)7Q1KDup6957a5xF$$@QZ1a5l&(8Sva0XW^h?W<}ELiWAo+S6s^gr8Z+4T|PG z(1x0lgMEhU22o$g#4lOc2+wI{>1@nAJ+GQU)^jv1n+H*Scu)^~eJd?iTzhrw*f(980vE-VaVP=4-JAYx z`qtJKMB|!!?ZF$ng_!rxv{0CTbj9n<{T?`&v9ZyRBKxwa)L6>+yxxKQD-|iQdAydA zKrJOf;rlfs`)A&;`ABU3hj|JqZ{+yzSr^v%Ug&7KId8pt@tMo8PELpVRQup-vj?6` ziLfte!{e%C~|ywv49#%`qdZO9T+_|9w0e{p-QGLta`0=17FNx z!1HSf+@4CSa$fmYmmB`Q^t-dnL*<9S8I!W0S}D_@0S5t7>^jG}`R{pUursLIXr>94 zEyEb&L8i$qv9y>cxekbIT3-0w@S3@K^{ais<0oT}p{FoNaZ7!auWH1Xu+^ud*IO{* zKX0=-ZJvFlM-P?8xxZz$kYBcluof9aJ$uQak+rSXC9jN1e2IO)eAxnl)Lc{?ceyV) z48yD8m^p+rH>c2YIbp(xTP-108rG~WBu#VDFf8KLr)g4K`tz@4*p{0)W1Drf1S`Kh*c<4xdEk1Oo_Z;*rGuBi`e&7t ztk`I;xp{Bh5~MrQBla82^6k){(YUi>>tN+AOxz7(L;~?ZQsdlKly&$|5W>7tcQu^z z++(H?Qk6r0fsIV!jVK`bcW-IkT9++Syzh<2Y!V!~CBTTwIz6Y)Ei=G(mq}bA*nEKQ z!N~|c6Z=F)m5b>>iY414!%;-|X8u5`!d_s|!z}CXR}u|!w}~wQHP|}OeL*^$gywh0Ug%Hkh)#58fI`7&ikZI^x+Bf~o6J;|3Gy^RKLFbM z#lphk=(CwA&imA)7B_1c?o19=4GYW01uQo}jr`z5DaPyu z?dy_|o5Kv@Zi3p5;W`M*E7P#rtbgEOX0C?I@#0xT%B!*u zpeO&lr>Jr-deH~UjlVZ`mY+q6l?|zR*zAEKjy?EXG=`*N7KZx6JIlwq;{(!O zel`E~)5fKxrAYtOXV`tP;F}M7B+HS;breG4`7uKl$*2!~UvWoVSI2==njN3&{(>!+l!ivO!QbY1VX*Db0 zlG(37$IyBmseA_|&?GB#3ovH3Qp!240;YDqJ zo#%1*{q=JG)49L6S8D||W#XjPvX4p5?CH$Vg|nO`#FsV9J6x9=(6TRLieGzXytg|T zV08Q@kA6rw)0fh?Ca`|8SdaI|VJBKTeUy}@BNx+3;y}v>))k5LGhh<E={36WH0zH*%_6gBz}1XAjx*#1r8`n&X6_HDD@jaYH41ZHa>pCg@b2jiA7SJ#9H z$CJQd=fl@+2P@?{pc4zvh@}?UJBu8Qg<7kl=E7Qj&->`wb^FUQeO_DV)+ zLqJaWA>`NdfW*+}_u`$SJ#ggtua*iIB)9cv`BGMYbA&yaMk@t{Sx2aGQ>VvH?%+jx zXb)Whg%+@+xSHj?!bMozPU~X5=Mdu=_$cNm5pp1ivn%tKy)DQ!QJuLqs`ndd;mM-o z?jN48gQ^GgbvP6@Y)M1s<{o+L3yfETMFQ*gi-|co#u@j^O6?4$V+@Es*$lIM>bj|G_O7Nx3V_Y+uIOxk>s8cquiL?u)iK=Z;&gsx9!>U zJs2o98=a#zXG=aFDDfv6y5dXUyr#fp*_6%|acdTLMbTxi8q0B@t~U9QmS#Q3&%gEH zcetp(G7k3l$fxahudzCxgg?_9aajdu@)Wl7`RU3Rf_%*Du-En>g&N{ZuaS3$zltWlcF1R}1 z)0hIE=Hc9pql!1o!G{3E%pAlE;5<8jCr zG4q4u9khnw6y)oo{gu1%`W@bRZEwETig3|#PvsOYsl6AdwBaQose}_8y&+g`2t>_w zCFHh7BM9!(%XyVMj-Zw9%Id*o_o1nGN5p3GYwPOaZ22pp;?9oHll%SAA9gAWmyM@A zCJFN_@NyYXZ&pqk`~uWFUloq@z3I^1yKXP~Fq<2ZWZn{5bsOvZP49?+&BVPQ$?0L` zo34I0y9O_=VW~ewv?-&M7d|Pp2tTfD5|1lu&ub27gCIKIjox``6W9;j;)t(V3`#Y_ zQuzGKg_WD?rN@0@TqpL%Wb9Gj3dP~Muq6}U&|7=BCE$)`3xaPi?|N2qgncg|>(#@} zP1~L-SUcNBkC!9D!v1@Z$Hn++60lu=w7}CgvvE6QbM#q_8C7pp(C6-QF#4qP>EKWQ z8}GFId;v&8uMW@bS)^O?&u=2bu(uJNS-mD9GDcrBLZGQ-26e_@@bPyKkR=k~W_yZ= zo!n$_xz@Jt41-Tad;cWq1kHY(10AzU`NinZx+{*PG<6Fg9wlG+ka)e$Gh1Bh3QL2( z!0#2TDMg{MA6qJ3bH(0(m6sMYQ;%UZ^+I4hY>}4AMC3~RO}uf5QIo!vK!iX33GpZa z4^sOL6BbO^INy47iPunivT61j(GNy7Lrwve-AKwU(v-mrds4s^cW^-J{C$^nSXU^l za`A+zd;w;^<{ z*I(+B-tVBP2AsmkAuR`Fyzg1AUR`V=L!F0_5d7k{nEK<_Qam!B=v-0Tuo>k~Pu?0S zX(tkby!L2TNm}ce8n=Te)KSZ@5%vjf$^m-*Im?Xlff&tco=PN^R)oQc1PRTwImnv%&D}o7%Naj8DlFhLkJX(YlED_T3{j97_)%FihiKdmB3U zfSqdlMRtz)2iBTWKlDEJHS$VKeI`TxEDoy~#<=`3V*N=$!hx2Nt7%B_mtsb9UYqJ= zFO`o2T)pbUEot%f-FwZ^y;*)qzyWUPZMVY=7u2TN`Cb}V0EhB5YbK3V%80JT1-QaK z>iR-g&`oPJbDEvBGJ8-CF95T?<#=3gqq{W+G4E1@iEag_v^n)l%0;-$jsEnUKnL-7;w))C4xX zf9Le=LrYfkRBo|Cjbi@%Jw}I?tT`q3SnnY(?YBSsLM8Zly8T%{gq6l(ta6o06hf^( zyDudg5ZoKG4aXqQOH;_1+^e=ceU|w}EN2>V)kbKY#P2&r*s${qO^Y9_n63^Ztn1Bdzbn2cR;B8X zdmkh@s7hF2>Sfd2nP+!<_$kshp^dn^Xvm&!jwau;+fGB( zlreZX9b9qow;(63hTD2570NIV9E;u&R~RW2eG!STsvQ>G`^CHW{e~fM7TGpXrK}zz zI#}+PqBeXoBX77`tqmX8FmW(62uxvqN zvNL&n)v3o27<_{9?boA}!(3I9U#wc|3UO*%V6~<#e5_IFDnk0BiSViZ(K^g5@67vZ zee|}zTuobz;M^@v`l!HiLtEbly;(a?eVFQp_cnGqcl%xzMk5Csoq*>1|AK@V!dz)v zs=$I?j{jz9g988wdBF%-2jNM2+gJj+Qx&9NqZ5 z1u6b|IUjKSa+{fg?5`;9c7hb5FS(NGD5{W&JGokraWZi+nz3+klX3Ghv2t>Ab8x>S zV`E|EWM*M!W@lk!W9Q>w;p1Q<`&Xa|k_eGPg13V>970Wns5qVdUasH)G`By(59#LLN9u8JkNlq~qF)0ZSb`DWV9x*mH zDY1Xj$~wBan>d4%D~CX&dSQdYQf0P%3{vQ zX3k;GXv%KF!^q9cYi7!6%E`iF#zOJ0^ydFje}D5Sa0j5n`JdwO@v!ppaGRKzG4fjQ zursoI|d0SNe4_%CD} z00ijoZ2x)kf{F7N7!U?PEPw%o@KVB;f&pFB3tA2aITjol>uVMf6;TQ{>{mE%DA~n0 zsNiwM-%C(q{+$>O3HcR(cm)0GFXS3>7*w0ir^-gc(Z%TansS)CV1+4Z$A;81Iy@G=U-UtLJ zOlWcpG8Pq96Bt+#QB^F8B=+}-Y!j2tE+1-4PrJlkW5eZ*pQ%xD|JD%n+! z6gF{H@oP@F;IW>I#yZa{1JWZP9jpG0v1FEs4;lbpC{*TM**0f ziI+;oWqj`eSSesB9z!Mx$NxBHg=xXX+nup&FI>Uy(sj?5s0ye95J*%67K^&RR^sCz z87x-q(hgGqd-HuQrGcR9$ill3QjVnQ{T+61K_l_BvHt$A^?C)X^q%=Pkvcon@}W!< z91L0fv$(#dPJ^N2{W;Z~LuEG6)J^e{L&~~?vl)fHM9g}lid7`dyFLg>un5#5iF7cG z!o-?trd_fyB_r^p8Bm+euYWc>*lAZU#zX!cW;<#;9;^a;QE&`+q2k;0Q zfAs1$?ZS0cb@F{q&UKmsSuQl-p#TjlCx*sYe&Ikg|IU3Xx#->HrddAqXAvk7SZq-d z5iF`;EjUezZW(G>-RSH~-j-U1s#jnB9K2!9tkdTzme=1oyEg!n<|U_IQp%ySGZ(&< z2y(7rmc0KtSAbh3)$n_gsIu8+FBH`$Z<3zCLeO%>*B!FlZbdWY9va@f8r^YpF@bCi zTTp0@0At50*};F!^W#6rqiqVWo4jM|rN<;Ift8_CfTjuy6g1KwxsK5f*zv{n8mj2- z1)2|NKa5T9r{I(vs~O)X%KZ-TLUoJiOY^CK2(d6PmcJOZF-EiK)CTMxXi8v%L|)7r zYl#98P=Z9^J257|@twWFs->qdDl?4wybiiFS%w~i+m}4Y%<{s-*0Tnl&1n-ABR1u^ z5w1qoGmR7pD-90V^+iT)cMIn`PJ^hWBUdgOlMEb-;{x%eS5-pkf+SX)+T+Vc!jhA} zkKPJviTtXBC+P)Y(QrUq_RfR;gF+#1FW*i)ogk`@A)q%V<_I`eCbQd1&mha6Ex2i` z*N~QlH)J3v5s(Nda+BwULbI8cC)(X#V9f)&;}X!vAOt!PA{O;0DqYJr??1yOyz34M zq6?z?7(o{VE%5;g0YvSX^7*Vm$T23$X>?WKvDEQ0-TKnQV=-&6x)DktiVpB~R-@iHce&#?-k z_+)=rJ|AWQy|5q%s^7&AQt)6@H+v?uoU?26C1(yqmJ0%rfj(eqMCc}2h(IB;0EB{q zfY=dKG8nKTn3glYhNgKN2a6!v7x^7tmGX2y7We~6emjLv?|eHL9Tw#v7|R%||4FwM zA?7alW+RDw7iYuIhxZwz+_m>dfPPONtt0364Z?mo;U&*%;_mSc(UaXmJ2-`!>uzo# z2(@B%YhDFWUn(c|;SR|5zXJ3Xn8GdM1GQL47N^J8St+yzEtJZyzwdNzeEPsTllk$? z9mjVbpMefiB>_VO#ET~Em*f{%15lQ4TzQ=dmQ=w|fr7(Og(HB{h5Ld*1^XHVLV`wu z27Lw2WS~SUDA>yR%&F~FiVQbBGkITYqYgit-eCtvbUCBIFTAbz^3v>b3#x51pWamZ zlquRvrP|oJNJ=9AwrsZW^x+dU(wkH;xVKYqe*#zLhkG$j{~q$Z7VvXzy%!eI-+E-9 zzUvjQ#^rPM?@s(<&C(Kr$zoC5Zxjzy?!SYg@~>qQ9zOC{zk=jBCJ#0Ob`v>yy^2RC z)fVp{kL+4|*}^`H7ZM1sVIzUgmrMi^p0@w^Y}9SWw}ZAW$7(kaJfi`;4d_2GplcOM zpfPB$RX`X(jQ|1(h$IGu8fr8K%=jPxUI7x?#j6qoBnx5 zkG_S>PHi-!rFzaTQ}fD0bwz=uCjFJ7Xfviz!wa7GZ#&LQ%;_&1$^4m%k&_n!pd`Z3>S za7`2(I-CSoYfVhu-cuGHD6M#bOJf}?H$9h)c_c7&L5%D6RH9^`k^q&tbtm|n_r!Nr zyVurOxwIMV_!qgbP#_8oEOMH^hEKp9)fYXf0tFjs=~+71sL03Lx~c7Zr?7X~lj^V; z+HcI?U;fjh$kvOOzqavr`&ry{c@cVL$hY*gvC8|w9x}G%k!VM zzJF5oHms&MRz^8joZR$2d)yuz2M80++}w@Gs|}=yb=Qs<7ixeiU+4rJ$o?JR!h05~ z`{Wg7$nd%1X0h%H?zb@A_DHn+XEHB+8af&x_eq3Z#xFu8-k5;&ab=hQDnq{Lel#c+ zZt814(ciy~tRLQ2GG64MtaxcdI1mAJZzM)Cz_}502*43Uhd}pNUlc@b*~BzY)b5R) z-ZD#Rd#(BBFaU+UW^xGf4ASp!$d=Df%UVn=ET1{|;{dS0nNk5?(p1LyPAt2@sZ&2f zBXC1g_Hyd~L)Lc(ve~_VYoF@i=|Xj(sz$A%Xp&aAo!5#M}SH z%*JM)p4Dzaa;`e6)9BIE!H~d`8qwS?iuq;qEw$(

  • `dUx_DKd=~jQh|!0d`z~twFTFsgn#zEmq>i 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%0DDnr~ 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 {FS2WDcn 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