From 55d99a976bea8fa816096eb09815f708d2ddac61 Mon Sep 17 00:00:00 2001 From: Markus Gruber <26838358+GruberMarkus@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:13:54 +0200 Subject: [PATCH 1/3] deps: Update yamldotnet to v16.3.0 deps: Standardize von netstandard2.0, instead of netstandard2.0 and net47, for maximum cross-platform compatibility and less module size build: Standardize von netstandard2.0, instead of netstandard2.0 and net47, for maximum cross-platform compatibility and less module size --- Tests/powershell-yaml.Tests.ps1 | 12 +- build.ps1 | 2 +- lib/net47/PowerShellYamlSerializer.dll | Bin 11264 -> 0 bytes lib/net47/YamlDotNet.dll | Bin 288256 -> 0 bytes lib/net47/YamlDotNet.xml | 6039 ----------------- lib/{net47 => netstandard2.0}/LICENSE.txt | 0 .../PowerShellYamlSerializer.dll | Bin 11264 -> 11264 bytes lib/netstandard2.0/YamlDotNet.dll | Bin 0 -> 291840 bytes lib/netstandard2.1/LICENSE.txt | 19 - lib/netstandard2.1/YamlDotNet.dll | Bin 287232 -> 0 bytes lib/netstandard2.1/YamlDotNet.xml | 6039 ----------------- powershell-yaml.psm1 | 236 +- powershell-yaml.sln | 24 + src/PowerShellYamlSerializer.csproj | 4 +- 14 files changed, 144 insertions(+), 12231 deletions(-) delete mode 100644 lib/net47/PowerShellYamlSerializer.dll delete mode 100644 lib/net47/YamlDotNet.dll delete mode 100644 lib/net47/YamlDotNet.xml rename lib/{net47 => netstandard2.0}/LICENSE.txt (100%) rename lib/{netstandard2.1 => netstandard2.0}/PowerShellYamlSerializer.dll (89%) create mode 100644 lib/netstandard2.0/YamlDotNet.dll delete mode 100644 lib/netstandard2.1/LICENSE.txt delete mode 100644 lib/netstandard2.1/YamlDotNet.dll delete mode 100644 lib/netstandard2.1/YamlDotNet.xml create mode 100644 powershell-yaml.sln diff --git a/Tests/powershell-yaml.Tests.ps1 b/Tests/powershell-yaml.Tests.ps1 index 1dc1d74..988f915 100644 --- a/Tests/powershell-yaml.Tests.ps1 +++ b/Tests/powershell-yaml.Tests.ps1 @@ -1065,9 +1065,9 @@ reallyLongDecimal: 3.9999999999999990 Describe 'StringQuotingEmitter' { BeforeAll { - $oldYamlPkgUrl = 'https://www.nuget.org/api/v2/package/YamlDotNet/11.2.1' - $pkgPath = Join-Path -Path $TestDrive -ChildPath 'YamlDotNet-11.2.1.nupkg' - $oldYamlPkgDirPath = Join-Path -Path $TestDrive -ChildPath 'YamlDotNet-11.2.1' + $oldYamlPkgUrl = 'https://www.nuget.org/api/v2/package/YamlDotNet/16.3.0' + $pkgPath = Join-Path -Path $TestDrive -ChildPath 'YamlDotNet-16.3.0.nupkg' + $oldYamlPkgDirPath = Join-Path -Path $TestDrive -ChildPath 'YamlDotNet-16.3.0' $ProgressPreference = 'SilentlyContinue' Invoke-WebRequest -Uri $oldYamlPkgUrl -UseBasicParsing -OutFile $pkgPath New-Item -Path $oldYamlPkgDirPath -ItemType Directory @@ -1075,11 +1075,7 @@ reallyLongDecimal: 3.9999999999999990 [IO.Compression.ZipFile]::ExtractToDirectory($pkgPath, $oldYamlPkgDirPath) } - $targetFrameworks = @('net45', 'netstandard1.3') - if ($PSVersionTable['PSEdition'] -eq 'Core') - { - $targetFrameworks = @('netstandard1.3', 'netstandard2.1') - } + $targetFrameworks = @('netstandard2.0') It 'can be compiled on import with <_>/YamlDotNet.dll loaded' -ForEach $targetFrameworks { $targetFramework = $_ diff --git a/build.ps1 b/build.ps1 index b5e850c..6e14449 100644 --- a/build.ps1 +++ b/build.ps1 @@ -17,7 +17,7 @@ $here = Split-Path -Parent $MyInvocation.MyCommand.Path dotnet build --configuration Release $here/src/ -$destinations = @("netstandard2.1", "net47") +$destinations = @("netstandard2.0") foreach ($item in $destinations) { $src = Join-Path $here "src" "bin" "Release" $item "PowerShellYamlSerializer.dll" diff --git a/lib/net47/PowerShellYamlSerializer.dll b/lib/net47/PowerShellYamlSerializer.dll deleted file mode 100644 index 904b86b00e0b08774bc96390fe9f1bb4886b27f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11264 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 diff --git a/lib/net47/YamlDotNet.dll b/lib/net47/YamlDotNet.dll deleted file mode 100644 index 25a11064009ddf11deef6b4d3da53050780dbc7a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 288256 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

Qn62P790&KIDKs<{HxwGOc4 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

>9>nm!VH{IIOaDvVutz{K1$)o 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 R1MAL?7X9#ToItY&S=%}nL9NA9Gg zuR57(PKL5vYjTJA`IvWC-GuE9rgPbR?vbo$Z0(NhBS&tV9G{w;2qp@51^4G>3e%Re zgV4d=8#mq`6z0~}1jAVw6WNw?B7|q>(Xgb*9dULn6vJG+;@U>jg z?u&W5e<~vO7IOJqAs5W7y(<{a(B*?E-_U3#pJ98(|8#nIGjs~0ac}1)z>v;ol%=^@b0J1YXHANRL z52kmW=iMIjHh%~>yP3M|^iKf;iEN8`w|y8e!GnhauyA=mVmsW%H*MMasl9i2-X~&S ze;v%*prExNJ($*veeO_jC^*<-Gq!c&(0BkbPdbVn!1gZYePmZY$TC%j_z%U*P-Nqt zPj=l9&5-By#=M*B3hkL@eN@X$9x7xW%1&p3hYEF7Ag&wgs%#z>2N&4O7vB-{?x-vN zGg@FN{XAeJG4H-QbSz%oLg*H#$gOx*@Y>DO)3A#r$v0Z6R{UiU*W2%TU%*iD@6pI^ zBmI9^Q=g7`TkD##>D?Jj-w(O&%EE%CZq9J#+qC>`t=_mXn(x3?WpCAPLslDA zdyaU`grh!L;n2)OmVll%TMp+k^H40Z0O5#Ng;W<5m;I%fH~WA`Xit1Oi*oYeop8k5 zR6ZbK+4hMs<^a~AVmq)w{CUN?V&2E=NMyS(0vW=D3%Q|uP@`6)gQ5*&jSEPUSkgXC z%IZ-~)^%iQvDh-KU$z&5aTxn=0PCn2`*<)smYvAWjKkWp1;?O=^Vyjht)Ch3_nE0+ zI5&DEQ#djeWG2{#W*qaMxLIs)Bs)E_HsiLHVA}X&A$vdD!Qm;ygaanon)qOa7H{}KDp)=PgrA3HiWR#qH~+Ck z{gFiXMcXHDns|`mM6_uH=#BmOyXo&f+w+b4R^Rf-tD{%l{afpv*!aSw>k`jZe)HLH z_PzP!9~2A!ckYR=zxR{BdE~Rx|NSFZ-SFH0`*&Zu_K%yEOhJt?%KU&_y72#A8uV3|Nb4PmjCL%dh%;e{GMRka^EdAc5ut&&=+pG zD=-#*%S2Gl~A znfkue!k?@w=Xv+Rjke_TJF~e7Z+vE$ohMj3lIK$Z_V<(PfwFX1HBkQ;`u_|AF`KN_ z@VmtwGmAh^0`Agu#kcW)U$N2qrda{H65nj-BXGC3+q(~UE1yl-%~xtZ>)lCwJMQg- z_4n<@zxq2djvDnla`_d@#fA{y7FQUTw}t;Ppz5O(xATb#eHNwqArSJgu*cnFAFP=0 zX2`F7%7P63PBo@v3rL^b=UVi=v=2i1KQtU;)X~2_KEVPG81HJ*-KS#o*%*Di0%?^N z-RH~hp}lch)mM-Tj8z{xabMKdM-tU*eSgaHJ_eKsj=lyzLHeCm7p5HkebQ^COw>2` zd5&Qqg*apB;z249~DbvTITK{3tz@S&$I&o diff --git a/lib/net47/YamlDotNet.xml b/lib/net47/YamlDotNet.xml deleted file mode 100644 index aa0e99e..0000000 --- a/lib/net47/YamlDotNet.xml +++ /dev/null @@ -1,6039 +0,0 @@ - - - - YamlDotNet - - - -

- The exception that is thrown when an alias references an anchor that does not exist. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Defines constants that relate to the YAML specification. - - - - - Emits YAML streams. - - - - - Initializes a new instance of the class. - - The where the emitter will write. - - - - Initializes a new instance of the class. - - The where the emitter will write. - The preferred indentation. - - - - Initializes a new instance of the class. - - The where the emitter will write. - The preferred indentation. - The preferred text width. - - - - Initializes a new instance of the class. - - The where the emitter will write. - The preferred indentation. - The preferred text width. - If true, write the output in canonical form. - - - - Emit an evt. - - - - - Check if we need to accumulate more events before emitting. - - We accumulate extra - - 1 event for DOCUMENT-START - - 2 events for SEQUENCE-START - - 3 events for MAPPING-START - - - - - Expect STREAM-START. - - - - - Expect DOCUMENT-START or STREAM-END. - - - - - Expect the root node. - - - - - Expect a node. - - - - - Expect ALIAS. - - - - - Expect SCALAR. - - - - - Expect SEQUENCE-START. - - - - - Expect MAPPING-START. - - - - - Expect DOCUMENT-END. - - - - - Expect a flow item node. - - - - - Expect a flow key node. - - - - - Expect a flow value node. - - - - - Expect a block item node. - - - - - Expect a block key node. - - - - - Expect a block value node. - - - - - Check if the document content is an empty scalar. - - - - - Check if the next node can be expressed as a simple key. - - - - - The preferred indentation. - - - - - The preferred text width. - - - - - New line characters. - - - - - If true, write the output in canonical form. - - - - - If true, write output without anchor names. - - - - - The maximum allowed length for simple keys. - - - The specifiction mandates 1024 characters, but any desired value may be used. - - - - - Indent sequences. The default is to not indent. - - - - - Represents an alias event. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the value of the alias. - - - - - Initializes a new instance of the class. - - The value of the alias. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - The value of the alias. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Represents a document end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Initializes a new instance of the class. - - Indicates whether the event is implicit. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - Indicates whether the event is implicit. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a document start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the tags. - - The tags. - - - - Gets the version. - - The version. - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Initializes a new instance of the class. - - The version. - The tags. - Indicates whether the event is implicit. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - The version. - The tags. - Indicates whether the event is implicit. - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Callback interface for external event Visitor. - - - - - Represents a mapping end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a mapping start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Gets the style of the mapping. - - - - - Initializes a new instance of the class. - - The anchor. - The tag. - Indicates whether the event is implicit. - The style of the mapping. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - The anchor. - The tag. - Indicates whether the event is implicit. - The style of the mapping. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Specifies the style of a mapping. - - - - - Let the emitter choose the style. - - - - - The block mapping style. - - - - - The flow mapping style. - - - - - Contains the behavior that is common between node events. - - - - - Gets the anchor. - - - - - - Gets the tag. - - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Initializes a new instance of the class. - - The anchor. - The tag. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Base class for parsing events. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the position in the input stream where the event starts. - - - - - Gets the position in the input stream where the event ends. - - - - - Accepts the specified visitor. - - Visitor to accept, may not be null - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Represents a scalar event. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the value. - - The value. - - - - Gets the style of the scalar. - - The style. - - - - Gets a value indicating whether the tag is optional for the plain style. - - - - - Gets a value indicating whether the tag is optional for any non-plain style. - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Gets whether this scalar event is a key - - - - - Initializes a new instance of the class. - - The anchor. - The tag. - The value. - The style. - . - . - The start position of the event. - The end position of the event. - Whether or not this scalar event is for a key - - - - Initializes a new instance of the class. - - The anchor. - The tag. - The value. - The style. - . - . - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The tag. - The value. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a sequence end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a sequence start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Gets the style. - - The style. - - - - Initializes a new instance of the class. - - The anchor. - The tag. - if set to true [is implicit]. - The style. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Specifies the style of a sequence. - - - - - Let the emitter choose the style. - - - - - The block sequence style. - - - - - The flow sequence style. - - - - - Represents a stream end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a stream start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - The exception that is thrown when an alias references an anchor - that has not yet been defined in a context that does not support forward references. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Supports implementations of by providing methods to combine two hash codes. - - - - - Combines two hash codes. - - The first hash code. - The second hash code. - - - - - Represents a YAML stream emitter. - - - - - Emits an event. - - - - - Gets a value indicating whether the end of the input reader has been reached. - - - - - Gets the character at the specified offset. - - - - - Skips the next characters. Those characters must have been - obtained first by calling the method. - - - - - Generic queue on which items may be inserted - - - - - Gets the number of items that are contained by the queue. - - - - - Enqueues the specified item. - - The item to be enqueued. - - - - Dequeues an item. - - Returns the item that been dequeued. - - - - Inserts an item at the specified index. - - The index where to insert the item. - The item to be inserted. - - - - Represents a YAML stream parser. - - - - - Gets the current event. Returns null before the first call to , - and also after returns false. - - - - - Moves to the next event. - - Returns true if there are more events available, otherwise returns false. - - - - Defines the interface for a stand-alone YAML scanner that - converts a sequence of characters into a sequence of YAML tokens. - - - - - Gets the current position inside the input stream. - - The current position. - - - - Gets the current token. - - - - - Moves to the next token and consumes the current token. - - - - - Moves to the next token without consuming the current token. - - - - - Consumes the current token. - - - - - Provides access to a stream and allows to peek at the next characters, - up to the buffer's capacity. - - - This class implements a circular buffer with a fixed capacity. - - - - - Initializes a new instance of the class. - - The input. - The capacity. - - - - Gets a value indicating whether the end of the input reader has been reached. - - - - - Gets the index of the character for the specified offset. - - - - - Gets the character at the specified offset. - - - - - Reads characters until at least characters are in the buffer. - - - Number of characters to cache. - - - - - Skips the next characters. Those characters must have been - obtained first by calling the or methods. - - - - - Represents a location inside a file - - - - - Gets a with empty values. - - - - - Gets / sets the absolute offset in the file - - - - - Gets / sets the number of the line - - - - - Gets / sets the index of the column - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - - - - - - - - - - - - - - - - Exception that is thrown when an infinite recursion is detected. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Simple implementation of that implements merging: http://yaml.org/type/merge.html - - - - - Parses YAML streams. - - - - - Initializes a new instance of the class. - - The input where the YAML stream is to be read. - - - - Initializes a new instance of the class. - - - - - Gets the current event. - - - - - Moves to the next event. - - Returns true if there are more events available, otherwise returns false. - - - - Parse the production: - stream ::= STREAM-START implicit_document? explicit_document* STREAM-END - ************ - - - - - Parse the productions: - implicit_document ::= block_node DOCUMENT-END* - * - explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* - ************************* - - - - - Parse directives. - - - - - Parse the productions: - explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* - *********** - - - - - Generate an empty scalar event. - - - - - Parse the productions: - block_node_or_indentless_sequence ::= - ALIAS - ***** - | properties (block_content | indentless_block_sequence)? - ********** * - | block_content | indentless_block_sequence - * - block_node ::= ALIAS - ***** - | properties block_content? - ********** * - | block_content - * - flow_node ::= ALIAS - ***** - | properties flow_content? - ********** * - | flow_content - * - properties ::= TAG ANCHOR? | ANCHOR TAG? - ************************* - block_content ::= block_collection | flow_collection | SCALAR - ****** - flow_content ::= flow_collection | SCALAR - ****** - - - - - Parse the productions: - implicit_document ::= block_node DOCUMENT-END* - ************* - explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* - ************* - - - - - Parse the productions: - block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END - ******************** *********** * ********* - - - - - Parse the productions: - indentless_sequence ::= (BLOCK-ENTRY block_node?)+ - *********** * - - - - - Parse the productions: - block_mapping ::= BLOCK-MAPPING_START - ******************* - ((KEY block_node_or_indentless_sequence?)? - *** * - (VALUE block_node_or_indentless_sequence?)?)* - - BLOCK-END - ********* - - - - - Parse the productions: - block_mapping ::= BLOCK-MAPPING_START - - ((KEY block_node_or_indentless_sequence?)? - - (VALUE block_node_or_indentless_sequence?)?)* - ***** * - BLOCK-END - - - - - - Parse the productions: - flow_sequence ::= FLOW-SEQUENCE-START - ******************* - (flow_sequence_entry FLOW-ENTRY)* - * ********** - flow_sequence_entry? - * - FLOW-SEQUENCE-END - ***************** - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * - - - - - Parse the productions: - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - *** * - - - - - Parse the productions: - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - ***** * - - - - - Parse the productions: - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * - - - - - Parse the productions: - flow_mapping ::= FLOW-MAPPING-START - ****************** - (flow_mapping_entry FLOW-ENTRY)* - * ********** - flow_mapping_entry? - ****************** - FLOW-MAPPING-END - **************** - flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * *** * - - - - - Parse the productions: - flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * ***** * - - - - - Extension methods that provide useful abstractions over . - - - - - Ensures that the current event is of the specified type, returns it and moves to the next event. - - Type of the . - Returns the current event. - If the current event is not of the specified type. - - - - Checks whether the current event is of the specified type. - If the event is of the specified type, returns it and moves to the next event. - Otherwise returns null. - - Type of the . - Returns true if the current event is of type T; otherwise returns null. - - - - Enforces that the current event is of the specified type. - - Type of the . - Returns the current event. - If the current event is not of the specified type. - - - - Checks whether the current event is of the specified type. - - Type of the event. - Returns true if the current event is of type . Otherwise returns false. - - - - Skips the current event and any nested event. - - - - - Attempts to find a key on a YAML mapping that matches our predicate. - This is useful for scanning a mapping for type discriminator information. - For example: looking for a `kind` key on an object. - - This function only checks mappings, and only looks at the current depth. - - If the event is a mapping and has a key that satisfies the predicate the scan - will stop, return true, and set and - . All events up until the predicate is matched will - be consumed. - - If the event is not a mapping event or a matching key is not found, returns false. - - The IParser which will have its current value checked for a matching mapping entry - The selector to filter the mapping by - The matching key of the mapping as a Scalar, or null if no matching key found - The matching value of the mapping as a ParsingEvent, or null if no matching key found - Returns true if the current event is a mapping entry with a key that matches the selector; - otherwise returns false. - - - - Keeps track of the recursion level, - and throws - whenever is reached. - - - - - Increments the recursion level, - and throws - if is reached. - - - - - Increments the recursion level, - and returns whether is still less than . - - - - - Decrements the recursion level. - - - - - Specifies the style of a YAML scalar. - - - - - Let the emitter choose the style. - - - - - The plain scalar style. - - - - - The single-quoted scalar style. - - - - - The double-quoted scalar style. - - - - - The literal scalar style. - - - - - The folded scalar style. - - - - - Converts a sequence of characters into a sequence of YAML tokens. - - - - - Gets the current token. - - - - - Initializes a new instance of the class. - - The input. - Indicates whether comments should be ignored - - - - Gets the current position inside the input stream. - - The current position. - - - - Moves to the next token. - - - - - - Consumes the current token and increments the parsed token count - - - - - Check the list of potential simple keys and remove the positions that - cannot contain simple keys anymore. - - - - - Pop indentation levels from the indents stack until the current level - becomes less or equal to the column. For each indentation level, append - the BLOCK-END token. - - - - - Produce the STREAM-END token and shut down the scanner. - - - - - Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. - - Scope: - %YAML 1.1 # a comment \n - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - %TAG !yaml! tag:yaml.org,2002: \n - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - - - Produce the DOCUMENT-START or DOCUMENT-END token. - - - - - Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. - - - - - Increase the flow level and resize the simple key list if needed. - - - - - Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. - - - - - Decrease the flow level. - - - - - Produce the FLOW-ENTRY token. - - - - - Produce the BLOCK-ENTRY token. - - - - - Produce the KEY token. - - - - - Produce the VALUE token. - - - - - Push the current indentation level to the stack and set the new level - the current column is greater than the indentation level. In this case, - append or insert the specified token into the token queue. - - - - - Produce the ALIAS or ANCHOR token. - - - - - Produce the TAG token. - - - - - Scan a TAG token. - - - - - Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. - - - - - Scan a block scalar. - - - - - Scan indentation spaces and line breaks for a block scalar. Determine the - indentation level if needed. - - - - - Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. - - - - - Scan a quoted scalar. - - - - - Produce the SCALAR(...,plain) token. - - - - - Scan a plain scalar. - - - - - Remove a potential simple key at the current flow level. - - - - - Scan the directive name. - - Scope: - %YAML 1.1 # a comment \n - ^^^^ - %TAG !yaml! tag:yaml.org,2002: \n - ^^^ - - - - - Scan the value of VERSION-DIRECTIVE. - - Scope: - %YAML 1.1 # a comment \n - ^^^^^^ - - - - - Scan the value of a TAG-DIRECTIVE token. - - Scope: - %TAG !yaml! tag:yaml.org,2002: \n - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - - - Scan a tag. - - - - - Decode an URI-escape sequence corresponding to a single UTF-8 character. - - - - - Scan a tag handle. - - - - - Scan the version number of VERSION-DIRECTIVE. - - Scope: - %YAML 1.1 # a comment \n - ^ - %YAML 1.1 # a comment \n - ^ - - - - - Check if a simple key may start at the current position and add it if - needed. - - - - - Exception that is thrown when a semantic error is detected on a YAML stream. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Exception that is thrown when a syntax error is detected on a YAML stream. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Initial content of the collection. - - - - - - - Gets a value indicating whether the collection contains a directive with the same handle - - - - - Represents an anchor token. - - - - - Gets the value. - - The value. - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The value. - The start position of the token. - The end position of the token. - - - - Represents an alias token. - - - - - Gets the value of the alias. - - - - - Initializes a new instance of the class. - - The value of the anchor. - - - - Initializes a new instance of the class. - - The value of the anchor. - The start position of the event. - The end position of the event. - - - - Represents a block end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a block entry event. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a block mapping start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a block sequence start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a comment - - - - - Gets the value of the comment - - - - - Gets a value indicating whether the comment appears other tokens on that line. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Represents a document end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a document start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Error tokens. - - - - - Gets the value of the error - - - - - Represents a flow entry event. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow mapping end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow mapping start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow sequence end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow sequence start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a key token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a scalar token. - - - - - Gets or sets whether this scalar is a key - - - - - Gets the value. - - The value. - - - - Gets the style. - - The style. - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The value. - The style. - - - - Initializes a new instance of the class. - - The value. - The style. - The start position of the token. - The end position of the token. - - - - Represents a stream end event. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a stream start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a tag token. - - - - - Gets the handle. - - The handle. - - - - Gets the suffix. - - The suffix. - - - - Initializes a new instance of the class. - - The handle. - The suffix. - - - - Initializes a new instance of the class. - - The handle. - The suffix. - The start position of the token. - The end position of the token. - - - - Represents a tag directive token. - - - - - Gets the handle. - - The handle. - - - - Gets the prefix. - - The prefix. - - - - Initializes a new instance of the class. - - The handle. - The prefix. - - - - Initializes a new instance of the class. - - The handle. - The prefix. - The start position of the token. - The end position of the token. - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object. - - true if the specified System.Object is equal to the current System.Object; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - - - - Base class for YAML tokens. - - - - - Gets the start of the token in the input stream. - - - - - Gets the end of the token in the input stream. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a value token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a version directive token. - - - - - Gets the version. - - The version. - - - - Initializes a new instance of the class. - - The version. - - - - Initializes a new instance of the class. - - The version. - The start position of the token. - The end position of the token. - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object. - - true if the specified System.Object is equal to the current System.Object; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Specifies the version of the YAML language. - - - - - Gets the major version number. - - - - - Gets the minor version number. - - - - - Initializes a new instance of the class. - - The major version number. - The minor version number. - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object. - - true if the specified System.Object is equal to the current System.Object; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Base exception that is thrown when the a problem occurs in the YamlDotNet library. - - - - - Gets the position in the input stream where the event that originated the exception starts. - - - - - Gets the position in the input stream where the event that originated the exception ends. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Generic implementation of object pooling pattern with predefined pool size limit. The main - purpose is that limited number of frequently used objects can be kept in the pool for - further recycling. - - Notes: - 1) it is not the goal to keep all returned objects. Pool is not meant for storage. If there - is no space in the pool, extra returned objects will be dropped. - - 2) it is implied that if object was obtained from a pool, the caller will return it back in - a relatively short time. Keeping checked out objects for long durations is ok, but - reduces usefulness of pooling. Just new up your own. - - Not returning objects to the pool in not detrimental to the pool's work, but is a bad practice. - Rationale: - If there is no intent for reusing the object, do not use pool - just use "new". - - - - - Not using System.Func{T} because this file is linked into the (debugger) Formatter, - which does not have that type (since it compiles against .NET 2.0). - - - - - Produces an instance. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search. - - - - - Returns objects to the pool. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search in Allocate. - - - - - Returns the that describes the property that - is being returned in an expression in the form: - - x => x.SomeProperty - - - - - - Adapts an to - because not all generic collections implement . - - - - - Adapts an to - because not all generic dictionaries implement . - - - - - Gets or sets the element with the specified index. - - The index of the element to get or set. - The element with the specified index. - - - - Adds an element with the provided key and value to the - at the given index. - - The zero-based index at which the item should be inserted. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - - - Removes the element at the specified index. - - The zero-based index of the element to remove. - - - - Pooling of StringBuilder instances. - - - - - Determines whether the specified type has a default constructor. - - The type. - Whether to include private constructors - - true if the type has a default constructor; otherwise, false. - - - - - Manages the state of a while it is loading. - - - - - Adds the specified node to the anchor list. - - The node. - - - - Gets the node with the specified anchor. - - The anchor. - The start position. - The end position. - - if there is no node with that anchor. - - - - Gets the node with the specified anchor. - - The anchor. - The node that was retrieved. - true if the anchor was found; otherwise false. - - - - Adds the specified node to the collection of nodes with unresolved aliases. - - - The that has unresolved aliases. - - - - - Resolves the aliases that could not be resolved while loading the document. - - - - - Holds state that is used when emitting a stream. - - - - - Gets the already emitted anchors. - - The emitted anchors. - - - - Defines the method needed to be able to visit Yaml elements. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Represents a LibYAML event stream. - - - - - Initializes a new instance of the class - from the specified . - - - - - Represents an alias node in the YAML document. - - - - - Initializes a new instance of the class. - - The anchor. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Represents an YAML document. - - - - - Gets or sets the root node. - - The root node. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a single scalar node. - - - - - Initializes a new instance of the class. - - - - - Visitor that assigns anchors to nodes that are referenced more than once. - Existing anchors are preserved as much as possible. - - - - - Key: Node, Value: IsDuplicate - - - - - Returns whether the visited node is a duplicate. - - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - Gets all nodes from the document. - is thrown if an infinite recursion is detected. - - - - - Represents a mapping node in the YAML document. - - - - - Gets the children of the current node. - - The children. - - - - Gets or sets the style of the node. - - The style. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - A sequence of where even elements are keys and odd elements are values. - - - - Initializes a new instance of the class. - - A sequence of where even elements are keys and odd elements are values. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - - - - Creates a containing a key-value pair for each property of the specified object. - - - - - Represents a single node in the YAML document. - - - - - Gets or sets the anchor of the node. - - The anchor. - - - - Gets or sets the tag of the node. - - The tag. - - - - Gets the position in the input stream where the event that originated the node starts. - - - - - Gets the position in the input stream where the event that originated the node ends. - - - - - Loads the specified event. - - The event. - The state of the document. - - - - Parses the node represented by the next event in . - - Returns the node that has been parsed. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - Gets all nodes from the document, starting on the current node. - is thrown if an infinite recursion is detected. - - - - - When implemented, recursively enumerates all the nodes from the document, starting on the current node. - If is reached, a is thrown - instead of continuing and crashing with a . - - - - - Gets the type of node. - - - - - Performs an implicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from string[] to . - - The value. - The result of the conversion. - - - - Converts a to a string by returning its value. - - - - - Gets the nth element in a . - - - - - Gets the value associated with a key in a . - - - - - Comparer that is based on identity comparisons. - - - - - - - - - - - Specifies the type of node in the representation model. - - - - - The node is a . - - - - - The node is a . - - - - - The node is a . - - - - - The node is a . - - - - - Represents a scalar node in the YAML document. - - - - - Gets or sets the value of the node. - - The value. - - - - Gets or sets the style of the node. - - The style. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The value. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Represents a sequence node in the YAML document. - - - - - Gets the collection of child nodes. - - The children. - - - - Gets or sets the style of the node. - - The style. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Adds the specified child to the collection. - - The child. - - - - Adds a scalar node to the collection. - - The child. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - - - - Represents an YAML stream. - - - - - Gets the documents inside the stream. - - The documents. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Adds the specified document to the collection. - - The document. - - - - Loads the stream from the specified input. - - The input. - - - - Loads the stream from the specified . - - - - - Saves the stream to the specified output. - - The output. - - - - Saves the stream to the specified output. - - The output. - Indicates whether or not to assign node anchors. - - - - Saves the stream to the specified emitter. - - The emitter. - Indicates whether or not to assign node anchors. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Abstract implementation of that knows how to walk a complete Yaml object model. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Abstract implementation of that knows how to walk a complete YAML object model. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a key-value pair. - - The left (key) that is being visited. - The right (value) that is being visited. - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Wraps a instance and allows it to be buffered as a LinkedList in memory and replayed. - - - - - Initializes a new instance of the class. - - The Parser to buffer. - The maximum depth of the parser to buffer before raising an ArgumentOutOfRangeException. - The maximum length of the LinkedList can buffer before raising an ArgumentOutOfRangeException. - If parser does not fit within the max depth and length specified. - - - - Gets the current event. Returns null after returns false. - - - - - Moves to the next event. - - Returns true if there are more events available, otherwise returns false. - - - - Resets the buffer back to it's first event. - - - - - The TypeDiscriminatingNodeDeserializer acts as a psuedo . - If any of it's has a matching BaseType, the TypeDiscriminatingNodeDeserializer will - begin buffering the yaml stream. It will then use the matching s to determine - a dotnet output type for the yaml node. As the node is buffered, the s are - able to examine the actual values within, and use these when discriminating a type. - Once a matching type is found, the TypeDiscriminatingNodeDeserializer uses it's inner deserializers to perform - the final deserialization for that type & object. - Usually you will want all default s that exist in the outer - to also be used as inner deserializers. - - - - - Adds an to be checked by the TypeDiscriminatingNodeDeserializer. - - The to add. - - - - Adds a to be checked by the TypeDiscriminatingNodeDeserializer. - s use the value of a specified key on the yaml object to map - to a target type. - - The yaml key to discriminate on. - A dictionary of values for the yaml key mapping to their respective types. - - - - Adds a to be checked by the TypeDiscriminatingNodeDeserializer. - s use the presence of unique keys on the yaml object to map - to different target types. - - A dictionary of unique yaml keys mapping to their respective types. - - - - An ITypeDiscriminator provides an interface for discriminating which dotnet type to deserialize a yaml - stream into. They require the yaml stream to be buffered as they - can inspect the yaml value, determine the desired type, and reset the yaml stream to then deserialize into - that type. - - - - - Gets the BaseType of the discriminator. All types that an ITypeDiscriminator may discriminate into must - inherit from this type. This enables the deserializer to only buffer values of matching types. - If you would like an ITypeDiscriminator to discriminate all yaml values, the BaseType will be object. - - - - - Trys to discriminate a type from the current IParser. As discriminating the type will consume the parser, the - parser will usually need to be a buffer so an instance of the discriminated type can be deserialized later. - - The IParser to consume and discriminate a type from. - The output type discriminated. Null if no type matched the discriminator. - Returns true if the discriminator matched the yaml stream. - - - - A TypeDiscriminator that discriminates which type to deserialize a yaml stream into by checking the value - of a known key. - - - - - Initializes a new instance of the class. - The KeyValueTypeDiscriminator will check the target key specified, and if it's value is contained within the - type mapping dictionary, the coresponding type will be discriminated. - - The base type which all discriminated types will implement. Use object if you're discriminating - unrelated types. Note the less specific you are with the base type the more yaml will need to be buffered. - The known key to check the value of when discriminating. - A mapping dictionary of yaml values to types. - If any of the target types do not implement the base type. - - - - Checks if the current parser contains the target key, and that it's value matches one of the type mappings. - If so, return true, and the matching type. - Otherwise, return false. - This will consume the parser, so you will usually need the parser to be a buffer so an instance - of the discriminated type can be deserialized later. - - The IParser to consume and discriminate a type from. - The output type discriminated. Null if there target key was not present of if the value - of the target key was not within the type mapping. - Returns true if the discriminator matched the yaml stream. - - - - A TypeDiscriminator that discriminates which type to deserialize a yaml stream into by checking the existence - of specific keys. - - - - - Initializes a new instance of the class. - The UniqueKeyTypeDiscriminator will check if any of the keys specified exist, and discriminate the coresponding type. - - The base type which all discriminated types will implement. Use object if you're discriminating - unrelated types. Note the less specific you are with the base type the more yaml will need to be buffered. - A mapping dictionary of yaml keys to types. - If any of the target types do not implement the base type. - - - - Checks if the current parser contains of the unique keys this discriminator has in it's type mapping. - If so, return true, and the matching type. - Otherwise, return false. - This will consume the parser, so you will usually need the parser to be a buffer so an instance - of the discriminated type can be deserialized later. - - The IParser to consume and discriminate a type from. - The output type discriminated. Null if there target key was not present of if the value - of the target key was not within the type mapping. - Returns true if the discriminator matched the yaml stream. - - - - Common implementation of and . - - - - - Prevents serialization and deserialization of fields. - - - - - - Allows serialization and deserialization of non-public properties. - - - - - Calling this will enable the support for private constructors when considering serialization and deserialization. - - - - - Sets the that will be used by the (de)serializer. - - - - - Sets the to use when handling enum's. - - Naming convention to use when handling enum's - - - - - Sets the that will be used by the (de)serializer. - - - - - Register an for a given property. - - - An expression in the form: x => x.SomeProperty - The attribute to register. - - - - - Register an for a given property. - - - - - Registers an additional to be used by the (de)serializer. - - - - - Registers an additional to be used by the (de)serializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector based on a previously registered .. - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Override the default yaml formatter with the one passed in - - to use when serializing and deserializing objects. - - - - - - A factory that creates instances of based on an existing . - - The type of the wrapped component. - The type of the component that this factory creates. - The component that is to be wrapped. - Returns a new instance of that is based on . - - - - A factory that creates instances of based on an existing and an argument. - - The type of the argument. - The type of the wrapped component. - The type of the component that this factory creates. - The component that is to be wrapped. - The argument of the factory. - Returns a new instance of that is based on and . - - - - This represents the YAML converter entity for using the ISO-8601 standard format. - - - - - Initializes a new instance of the class using the default any scalar style. - - - - - Initializes a new instance of the class. - - - - - Gets a value indicating whether the current converter supports converting the specified type. - - to check. - Returns True, if the current converter supports; otherwise returns False. - - - - Reads an object's state from a YAML parser. - - instance. - to convert. - The deserializer to use to deserialize complex types. - Returns the instance converted. - On deserializing, all formats in the list are used for conversion. - - - - Writes the specified object's state to a YAML emitter. - - instance. - Value to write. - to convert. - A serializer to serializer complext objects. - On serializing, the first format in the list is used. - - - - This represents the YAML converter entity for . - - - - - Initializes a new instance of the class. - - value. Default value is . is considered as . - instance. Default value is . - If true, will use double quotes when writing the value to the stream. - List of date/time formats for parsing. Default value is "G". - On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. - - - - Gets a value indicating whether the current converter supports converting the specified type. - - to check. - Returns True, if the current converter supports; otherwise returns False. - - - - Reads an object's state from a YAML parser. - - instance. - to convert. - The deserializer to use to deserialize complex types. - Returns the instance converted. - On deserializing, all formats in the list are used for conversion. - - - - Writes the specified object's state to a YAML emitter. - - instance. - Value to write. - to convert. - A serializer to serializer complext objects. - On serializing, the first format in the list is used. - - - - Converts the object to a string representation - To use this converter, call WithTypeConverter(new DateTimeOffsetConverter()) on the - or . - - - - - Initializes a new instance of the class. - - instance. Default value is . - If true, will use double quotes when writing the value to the stream. - - List of date/time formats for parsing. Default value is "O". - On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. - - - - Gets a value indicating whether the current converter supports converting the specified type. - - to check. - Returns True, if the current converter supports; otherwise returns False. - - - - Reads an object's state from a YAML parser. - - instance. - to convert. - The deserializer to use to deserialize complex types. - Returns the instance converted. - On deserializing, all formats in the list are used for conversion. - - - - Writes the specified object's state to a YAML emitter. - - instance. - Value to write. - to convert. - A serializer to serializer complext objects. - On serializing, the first format in the list is used. - - - - Converter for System.Guid. - - - - - Converter for System.Type. - - - Converts to a scalar containing the assembly qualified name of the type. - - - - - Specifies the strategy to handle default and null values during serialization of properties. - - - - - Specifies that all properties are to be emitted regardless of their value. This is the default behavior. - - - - - Specifies that properties that contain null references or a null Nullable<T> are to be omitted. - - - - - Specifies that properties that that contain their default value, either default(T) or the value specified in DefaultValueAttribute are to be omitted. - - - - - Specifies that properties that that contain collections/arrays/enumerations that are empty are to be omitted. - - - - - Deserializes objects from the YAML format. - To customize the behavior of , - use the class. - - - - - Initializes a new instance of using the default configuration. - - - To customize the behavior of the deserializer, use . - - - - - This constructor is private to discourage its use. - To invoke it, call the method. - - - - - Creates a new that uses the specified . - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use . - - - - - Deserializes an object of the specified type. - - The from where to deserialize the object. - The static type of the object to deserialize. - Returns the deserialized object. - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the deserializer - with the desired customizations. - - - - - Initializes a new using the default component registrations. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - When deserializing it will attempt to convert unquoted strings to their correct datatype. If conversion is not sucessful, it will leave it as a string. - This option is only applicable when not specifying a type or specifying the object type during deserialization. - - - - - Sets the that will be used by the deserializer. - - - - - Sets the that will be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a to be used by the deserializer. This internally registers - all existing as inner deserializers available to the . - Usually you will want to call this after any other changes to the s used by the deserializer. - - An action that can configure the . - Configures the max depth of yaml nodes that will be buffered. A value of -1 (the default) means yaml nodes of any depth will be buffered. - Configures the max number of yaml nodes that will be buffered. A value of -1 (the default) means there is no limit on the number of yaml nodes buffered. - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Ignore case when matching property names. - - - - - - Enforce whether null values can be set on non-nullable properties and fields. - - This deserializer builder. - - - - Require that all members with the 'required' keyword be set by YAML. - - - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Registers a type mapping using the default object factory. - - - - - Unregisters an existing tag mapping. - - - - - Instructs the deserializer to ignore unmatched properties instead of throwing an exception. - - - - - Instructs the deserializer to check for duplicate keys and throw an exception if duplicate keys are found. - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Gets the next visitor that should be called by the current visitor. - - - - - Gets the that is to be used for serialization. - - - - - Gets a function that, when called, serializes the specified object. - - - - - Gets the visitor of type that was used during the pre-processing phase. - - The type of the visitor.s - - - No visitor of that type has been registered, - or ore than one visitors registered are of type . - - - - - Provided the base implementation for an IEventEmitter that is a - decorator for another IEventEmitter. - - - - - This pattern matches strings that are special both in YAML 1.1 and 1.2 - - - - - Deserializes an object of the specified type. - - The from where to deserialize the object. - The static type of the object to deserialize. - Returns the deserialized object. - - - - Translates property names according to a specific convention. - - - - - Determines the type of the specified node. - - The node to be deserialized. - The type that has been determined so far. - - true if has been resolved completely; - false if the next type should be invoked. - - - - - The interface to implement for getting/setting an objects fields and properties when using a static context - - - - - Set a field/property value - - Name of the field or property. - Object to set the field/property on. - Value to set the field/property to. - - - - Reads a value from a field/property - - Name of the field or property. - Object to get the field/property from. - - - - - Represents an object along with its type. - - - - - A reference to the object. - - - - - The type that should be used when to interpret the . - - - - - The type of as determined by its container (e.g. a property). - - - - - The style to be used for scalars. - - - - - Returns the Value property of the if it is not null. - This is useful in all places that the value must not be null. - - An object descriptor. - Thrown when the Value is null - - - - - Creates instances of types. - - - This interface allows to provide a custom logic for creating instances during deserialization. - - - - - Creates an instance of the specified type. - - - - - Creates a default value for the .net primitive types (string, int, bool, etc) - - - - - - - If the type is convertable to a non generic dictionary, then it will do so and set dictionary and genericArguments to the correct values and return true. - If not, values will be null and the result will be false.. - - Object descriptor to try and convert - The converted dictionary - Generic type arguments that specify the key and value type - True if converted, false if not - - - - Gets the type of the value part of a dictionary or list. - - - - - - - Executes the methods on the object that has the attribute - - - - - - Executes the methods on the object that has the attribute - - - - - - Executes the methods on the object that has the attribute - - - - - - Executes the methods on the object that has the attribute - - - - - - Defines a strategy that walks through an object graph. - - - - - Traverses the specified object graph. - - The graph. - An that is to be notified during the traversal. - A that will be passed to the . - The serializer to use to serialize complex objects. - - - - Defined the interface of a type that can be notified during an object graph traversal. - - - - - Indicates whether the specified value should be entered. This allows the visitor to - override the handling of a particular object or type. - - The value that is about to be entered. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - The descriptor for the property that the value belongs to. - If the value is to be entered, returns true; otherwise returns false; - - - - Indicates whether the specified mapping should be entered. This allows the visitor to - override the handling of a particular pair. - - The key of the mapping that is about to be entered. - The value of the mapping that is about to be entered. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - If the mapping is to be entered, returns true; otherwise returns false; - - - - Indicates whether the specified mapping should be entered. This allows the visitor to - override the handling of a particular pair. This overload should be invoked when the - mapping is produced by an object's property. - - The that provided access to . - The value of the mapping that is about to be entered. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - If the mapping is to be entered, returns true; otherwise returns false; - - - - Notifies the visitor that a scalar value has been encountered. - - The value of the scalar. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a mapping is about to begin. - - The value that corresponds to the mapping. - The static type of the keys of the mapping. - The static type of the values of the mapping. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a mapping has ended. - - The value that corresponds to the mapping. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a sequence is about to begin. - - The value that corresponds to the sequence. - The static type of the elements of the sequence. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a sequence has ended. - - The value that corresponds to the sequence. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Registers the component in place of the already registered component of type . - - - - - Registers the component before the already registered component of type . - - - - - Registers the component after the already registered component of type . - - - - - Registers the component before every other previously registered component. - - - - - Registers the component after every other previously registered component. - - - - - Registers the component in place of the already registered component of type . - - - - - Serializes the specified object into a string. - - The object to serialize. - - - - Serializes the specified object into a string. - - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Provides access to the properties of a type. - - - - - Gets all properties of the specified type. - - The type whose properties are to be enumerated. - The actual object of type whose properties are to be enumerated. Can be null. - - - - - Gets the property of the type with the specified name. - - The type whose properties are to be searched. - The actual object of type whose properties are to be searched. Can be null. - The name of the property. - - Determines if an exception or null should be returned if can't be - found in - - If true use case-insitivity when choosing the property or field. - - - - - Returns the actual name from the EnumMember attribute - - The type of the enum. - The name to lookup. - The actual name of the enum value. - - - - Return the value of the enum - - - - - - - Resolves the type of values. - - - - - Allows an object to customize how it is serialized and deserialized. - - - - - Reads this object's state from a YAML parser. - - The parser where the object's state should be read from. - The type that the deserializer is expecting. - - A function that will use the current deserializer - to read an object of the given type from the parser. - - - - - Writes this object's state to a YAML emitter. - - The emitter where the object's state should be written to. - A function that will use the current serializer to write an object to the emitter. - - - - Represents a function that is used to deserialize an object of the given type. - - The type that the deserializer should read. - Returns the object that was deserialized. - - - - Represents a function that is used to serialize an object of the given type. - - The object to be serialized. - - The type that should be considered when emitting the object. - If null, the actual type of the is used. - - - - - Allows an object to customize how it is serialized and deserialized. - - - - - Reads this object's state from a YAML parser. - - - - - Writes this object's state to a YAML emitter. - - - - - Allows to customize how a type is serialized and deserialized. - - - - - Gets a value indicating whether the current converter supports converting the specified type. - - - - - Reads an object's state from a YAML parser. - - - - - Writes the specified object's state to a YAML emitter. - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter - is lowercase. - - - - - Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) string - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - lower case (thisisatest). - - - - - Performs no naming conversion. - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter - is uppercase. - - - - - Convert the string from camelcase (thisIsATest) to a underscored (this_is_a_test) string - - - - - An empty type for cases where a type needs to be provided but won't be used. - - - - - Creates objects using Activator.CreateInstance. - - - - - Creates objects using a Func{Type,object}"/>. - - - - - - - - - - - - - - - - - Gets information about and creates statically known, serializable, types. - - - - - Create an object of the specified type - - Type of object to create - - - - - Creates an array of the specified type with the size specified - - The type of the array, should be the whole type, not just the value type - How large the array should be - - - - - Gets whether the type is a dictionary or not - - Type to check - - - - - Gets whether the type is an array or not - - Type to check - - - - - Gets whether the type is a list - - Type to check - - - - - Gets the type of the key of a dictionary - - - - - - - Gets the type of the value part of a dictionary or list. - - - - - - - Creates the default value of primitive types - - - - - - - The static implementation of yamldotnet doesn't support generating types, so we will return null's and false since we can't do anything. - - - - - - - - - An implementation of that traverses - readable properties, collections and dictionaries. - - - - - An implementation of that traverses - properties that are read/write, collections and dictionaries, while ensuring that - the graph can be regenerated from the resulting document. - - - - - A factory method for creating instances - - The type inspector to be used by the traversal strategy. - The type resolver to be used by the traversal strategy. - The type converters to be used by the traversal strategy. - The maximum object depth to be supported by the traversal strategy. - - - - - A base class that simplifies the correct implementation of . - - - - - Initializes a new instance of using the default configuration. - - - To customize the behavior of the serializer, use . - - - - - This constructor is private to discourage its use. - To invoke it, call the method. - - - - - Creates a new that uses the specified . - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use . - - - - - Serializes the specified object into a string. - - The object to serialize. - - - - Serializes the specified object into a string. - - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the serializer - with the desired customizations. - - - - - Put double quotes around strings that need it, for example Null, True, False, a number. This should be called before any other "With" methods if you want this feature enabled. - - Also quote strings that are valid scalars in the YAML 1.1 specification (which includes boolean Yes/No/On/Off, base 60 numbers and more) - - - - Sets the default quoting style for scalar values. The default value is - - - - - Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. - - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Unregisters an existing tag mapping. - - - - - Ensures that it will be possible to deserialize the serialized objects. - This option will force the emission of tags and emit only properties with setters. - - - - - Specifies that, if the same object appears more than once in the - serialization graph, it will be serialized each time instead of just once. - - - If the serialization graph contains circular references and this flag is set, - a StackOverflowException will be thrown. - If this flag is not set, there is a performance penalty because the entire - object graph must be walked twice. - - - - - Forces every value to be serialized, even if it is the default value for that type. - - - - - Configures how properties with default and null values should be handled. The default value is DefaultValuesHandling.Preserve - - - If more control is needed, create a class that extends from ChainedObjectGraphVisitor and override its EnterMapping methods. - Then register it as follows: - WithEmissionPhaseObjectGraphVisitor(args => new MyDefaultHandlingStrategy(args.InnerVisitor)); - - - - - Ensures that the result of the serialization is valid JSON. - - - - - Allows you to override the new line character to use when serializing to YAML. - - NewLine character(s) to use when serializing to YAML. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an to be used by the serializer - while traversing the object graph. - - A function that instantiates the traversal strategy. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Creates sequences with extra indentation - - - list: - - item - - item - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - If true then private, parameterless constructors will be invoked if a public one is not available. - - - - - Common implementation of and . - - - - - Sets the that will be used by the (de)serializer. - - - - - Sets the to use when handling enum's. - - Naming convention to use when handling enum's - - - - - Sets the that will be used by the (de)serializer. - - - - - Registers an additional to be used by the (de)serializer. - - - - - Registers an additional to be used by the (de)serializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector based on a previously registered .. - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Override the default yaml formatter with the one passed in - - to use when serializing and deserializing objects. - - - - - - Holds the static object factory and type inspector to use when statically serializing/deserializing YAML. - - - - - Gets whether the type is known to the context - - Type to check - - - - - Gets the to use for serialization - - - - - - Gets the factory to use for serialization and deserialization - - - - - - Gets the type inspector to use when statically serializing/deserializing YAML. - - - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the deserializer - with the desired customizations. - - - - - Initializes a new using the default component registrations. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - When deserializing it will attempt to convert unquoted strings to their correct datatype. If conversion is not sucessful, it will leave it as a string. - This option is only applicable when not specifying a type or specifying the object type during deserialization. - - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Ignore case when matching property names. - - - - - - Enforce whether null values can be set on non-nullable properties and fields. - - This static deserializer builder. - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a to be used by the deserializer. This internally registers - all existing as inner deserializers available to the . - Usually you will want to call this after any other changes to the s used by the deserializer. - - An action that can configure the . - Configures the max depth of yaml nodes that will be buffered. A value of -1 (the default) means yaml nodes of any depth will be buffered. - Configures the max number of yaml nodes that will be buffered. A value of -1 (the default) means there is no limit on the number of yaml nodes buffered. - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Registers a type mapping using the default object factory. - - - - - Unregisters an existing tag mapping. - - - - - Instructs the deserializer to ignore unmatched properties instead of throwing an exception. - - - - - Instructs the deserializer to check for duplicate keys and throw an exception if duplicate keys are found. - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the serializer - with the desired customizations. - - - - - Put double quotes around strings that need it, for example Null, True, False, a number. This should be called before any other "With" methods if you want this feature enabled. - - Also quote strings that are valid scalars in the YAML 1.1 specification (which includes boolean Yes/No/On/Off, base 60 numbers and more) - - - - Put double quotes around strings that need it, for example Null, True, False, a number. This should be called before any other "With" methods if you want this feature enabled. - - - - - Sets the default quoting style for scalar values. The default value is - - - - - Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. - - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Unregisters an existing tag mapping. - - - - - Ensures that it will be possible to deserialize the serialized objects. - This option will force the emission of tags and emit only properties with setters. - - - - - Specifies that, if the same object appears more than once in the - serialization graph, it will be serialized each time instead of just once. - - - If the serialization graph contains circular references and this flag is set, - a StackOverflowException will be thrown. - If this flag is not set, there is a performance penalty because the entire - object graph must be walked twice. - - - - - Forces every value to be serialized, even if it is the default value for that type. - - - - - Configures how properties with default and null values should be handled. The default value is DefaultValuesHandling.Preserve - - - If more control is needed, create a class that extends from ChainedObjectGraphVisitor and override its EnterMapping methods. - Then register it as follows: - WithEmissionPhaseObjectGraphVisitor(args => new MyDefaultHandlingStrategy(args.InnerVisitor)); - - - - - Ensures that the result of the serialization is valid JSON. - - - - - Allows you to override the new line character to use when serializing to YAML. - - NewLine character(s) to use when serializing to YAML. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an to be used by the serializer - while traversing the object graph. - - A function that instantiates the traversal strategy. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Creates sequences with extra indentation - - - list: - - item - - item - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - An object that contains part of a YAML stream. - - - - - Gets or sets the events. - - The events. - - - - Reads this object's state from a YAML parser. - - - - - Writes this object's state to a YAML emitter. - - - - - Contains mappings between tags and types. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The mappings. - - - - Adds the specified tag. - - The tag. - The mapping. - - - - Gets the mapping. - - The tag. - - - - - Wraps another and applies caching. - - - - - Aggregates the results from multiple into a single one. - - - - - Wraps another and applies a - naming convention to the names of the properties. - - - - - Returns the properties of a type that are both readable and writable. - - - - - Returns the properties and fields of a type that are readable. - - - - - Returns the properties of a type that are readable. - - - - - Returns the properties of a type that are writable. - - - - - The type returned will be the actual type of the value, if available. - - - - - Except for primitive types, the type returned will always be the static type. - - - - - Indicates that a class used as deserialization state - needs to be notified after deserialization. - - - - - Convert a value to a specified type - - - - Naming convention to use on enums in the type converter. - The type inspector to use when getting information about a type. - - - - - Adds the specified anchor. - - The anchor. - The @object. - - - - Gets the anchor for the specified object. - - The object. - The anchor. - - - - - Gets the with the specified anchor. - - - - - - A generic container that is preserved during the entire deserialization process. - Any disposable object added to this collection will be disposed when this object is disposed. - - - - - Invokes on all - objects added to this collection that implement . - - - - - Various string extension methods - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter - is lowercase. - - String to convert - Converted string - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter - is uppercase. - - String to convert - Converted string - - - - Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) or - underscored (this_is_a_test) string - - String to convert - Separator to use between segments - Converted string - - - - Performs type conversions using every standard provided by the .NET library. - - - - - Converts the specified value. - - The type to which the value is to be converted. - The value to convert. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Converts the specified value using the invariant culture. - - The value to convert. - The type to which the value is to be converted. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Converts the specified value. - - The value to convert. - The type to which the value is to be converted. - The format provider. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Converts the specified value. - - The value to convert. - The type to which the value is to be converted. - The culture. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Registers a dynamically. - - The type to which the converter should be associated. - The type of the converter. - - - - Define a collection of YamlAttribute Overrides for pre-defined object types. - - - - - Checks whether this mapping matches the specified type, and returns a value indicating the match priority. - - The priority of the match. Higher values have more priority. Zero indicates no match. - - - - Adds a Member Attribute Override - - Type - Class Member - Overriding Attribute - - - - Creates a copy of this instance. - - - - - Adds a Member Attribute Override - - - - - Applies the Yaml attribute overrides to another . - - - - - Applies the Yaml* attributes to another . - - - - - Converts an enum to it's string representation. - By default it will be the string representation of the enum passed through the naming convention. - - A string representation of the enum - - - - If this function returns true, the serializer will put quotes around the formatted enum value if necessary. Defaults to true. - - - - - Instructs the YamlSerializer not to serialize the public field or public read/write property value. - - - - - Provides special Yaml serialization instructions. - - - - - Decription/Comment about this property. - When set, a comment will be emitted when serializing this member. - - - - - Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. - - - - - Specifies the order priority of this property. - - - - - Instructs the to use a different field name for serialization. - - - - - When false, naming conventions will not be applied to this member. Defaults to true. - - - - - Specifies the scalar style of the property when serialized. This will only affect the serialization of scalar properties. - - - - - Overrides how null and default values should be handled for this property. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. - - - - Put this attribute either on serializable types or on the that you want - the static analyzer to detect and use. - - - - - Use this constructor if the attribute is placed on a serializable class. - - - - - Use this constructor if the attribute is placed on the . - - The type for which to include static code generation. - - - diff --git a/lib/net47/LICENSE.txt b/lib/netstandard2.0/LICENSE.txt similarity index 100% rename from lib/net47/LICENSE.txt rename to lib/netstandard2.0/LICENSE.txt diff --git a/lib/netstandard2.1/PowerShellYamlSerializer.dll b/lib/netstandard2.0/PowerShellYamlSerializer.dll similarity index 89% rename from lib/netstandard2.1/PowerShellYamlSerializer.dll rename to lib/netstandard2.0/PowerShellYamlSerializer.dll index a2c4acf1c16433632c780a02c14ab3aa2b472584..a27bb445ebc7a6cc3a16dc9f13deeaac501347fb 100644 GIT binary patch delta 405 zcmZpOXo#55!BWEgmAx*p)Dr)yOiF55OhJBmYEf}UYEF)BWnykl zOmR_iOny>UOi*f0YGQF}OkQe9aYYWc3fOINQB!wXf$Twgx1gc5{sx}0Q7y(5<@+n{w3^t!vw`5{^ OVz60I;{)SF12zC5>~`Y- delta 419 zcmZpOXo#55!J-k3us8Yk~mlxMAVU|^`7d{J8R}2=Qc^L3S~BYz z)Dn<`ytaQ#@J~+2JGi;%{~4fjVBi^utuRqhjPb_g?Mj-PA1O&NZst=dV)jpFFk(n$ zuwXD{NM=Z5Fknao@+^VuM1~ZGBnD#!GoYL~kW2)sNCdLYfIJW@4TueadM$x`V<5`_ asM?6ZeDisAOD3it2Ac&nJ}^!+U;_YZnt+1< diff --git a/lib/netstandard2.0/YamlDotNet.dll b/lib/netstandard2.0/YamlDotNet.dll new file mode 100644 index 0000000000000000000000000000000000000000..c496141ceb278a779afec42d015c974911dce63f GIT binary patch literal 291840 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 VK$P?JDAqPNMgA5O;%{fy{|`62lfD1| literal 0 HcmV?d00001 diff --git a/lib/netstandard2.1/LICENSE.txt b/lib/netstandard2.1/LICENSE.txt deleted file mode 100644 index d4f2924..0000000 --- a/lib/netstandard2.1/LICENSE.txt +++ /dev/null @@ -1,19 +0,0 @@ -Copyright (c) 2008, 2009, 2010, 2011, 2012, 2013, 2014 Antoine Aubry and contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in -the Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies -of the Software, and to permit persons to whom the Software is furnished to do -so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/lib/netstandard2.1/YamlDotNet.dll b/lib/netstandard2.1/YamlDotNet.dll deleted file mode 100644 index 06c77a7517dc4d5ff8e1136aa2399a2f628d195f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 287232 zcmdSC37lL-)&G6x-tOByJ(Ed#W-^lnm^1Sco{eS*}xwq<6)u~gb zPMtb+s&4fYPk)IQc%GNz@1ci0?|r=W?+|-F{9}gXp@|O+dH3~yVa5CUj{U-llPU*Oyz`S;ZQu8HogC=f+w)F^s-lBdt|B~1c!sy-vBz{y^xm8!5fAy8b z_dc0QNwc;>clWYr(FPuVu7zagD*O6Py@U7!AztYRqw$Fft@a~&q!d57 zJ92V&z~J=^Eyrt0G>r~gG@HoQLc!sMwW zOwA}IB5So2Qg~$VyeAwqqdYNM3TpXqV)Cq#AB&*+Vm}<6K7-I`e5Rh!Sv)J_G%av# zI9u_3U4w%79L0pw_ntrvMo+YWzAuHfq94)CrA3~<^~EGb=Mjm{=TY;QR{X6moda72 z?B+SJ<-pV{-DP(I_Ody!oq@f44r~`-xAek-iGF~$&IOhLzG5zL0N^X<0tW%UYA$dA zz}w~mhXB5ME^r}0#J9US!NekfubB%RhUGW;^_->Cv#EM+lKiAiY^mUV=oF!k}K5&LgDN{50b!*9v_v=SK|2uufH% zQYvf;79k(i%J_{-A#G~R-{QxYlNN!g8qS6vujJMVAKl@M7=C4 z85JlqRX}_HU)t%iXAZ4xsqCJPHvg!hynQ^gLqq&xP@IyiLZ= zhj#REdAu}DvvaP3=^Tyj(nv2-v#+Pf)QnQ%=Mx+#)K;YmY_K?;?=5hn3Lw4|P)er4 zzMg8ho0NP5$(n3(De%Q@AT7uxD38*NNUE6L`#f}(#N+9&0BgOFSQ>nhg3+(~ys)*| zf;Z}!{7`_KEQk&(l|m^B-xxFf5&+gbG+AjjM0b@E6cf}cB}N~S9Tk#hM;CQxM+;@y zmEy9uz)r0cDz(rvB|n&|53X!58m>rCF{Mo{bP5?R6IqCMiCJpAb-Q5k9a;3Xo#=6X zQ@O_DODT|Mxhh3UdorZPhYUf`GG4f7mU%7(F7*VzDc%IR7|E!n_)pG&`S^RCTJP|K z={w2W#jw{AO|}R&qm=0NJSuK}dK&#SAbEWQFmzVyF5Y2N&-y^)-ZteqVqfUQ{HFNl z^4Z8hDZCMgbxZsvLh+kWmYrdK*QO zxATbKp~u}k(yG?`os7{vz$zU}_??}S;v4OCe0vvx+3?*wllugl zQA)(XlY-3J!t7g4-a~@g@?PFyQ%|U$Xje3kZxXf+iL~W?0Fw9fh(Dmm2YIAz$?6$W zJs$$DdOplMZ0h+a>-h*pl8^F;AJF4tJhsQPj|1=K8OBB`yna)(2k|F5B{QKtzn#gA zX(zO+9hak$*tXtJjz_6!+6<#3cvP6wys0ec%{TsZAE8LPo@;ShaK!&oP z>;sz-{QJwG4hEJ!S~i{s)zAJ*7Q+jFHoH=VAi0 z;afG$X?RY}C?)<+f@zu4vNE*tQnk`XaaV@JvkcSYy-45IL8_E)q=#i?KziBske;4p zm|oJ0^z9v_N^wY&FF@}=Ve1W9DbQXnv|j`s{}+#f?0z?Mk`~WN!*pn;T`?yO6DFN; zm-bTf4pE{Cre>6qR)b~JM)iz2s5W(_HRhyYNwv#i+4hirO;;MWX;0d)X>0G7cqbszAK!1B9(hbe8&^W*ORi4R{$w&BWgzLL3xiO+H7Cn|D zc|2)aJ8Vhzb-6S&!w4Kz*7)PCN!29#GVs=cdlcNsd!R}4B5EubHuXev-rv@eJ~Qll zMfO|`RJmL#wkuBEX_fr;L>zgtMY4n0#dN{LVy*&6>;Xjv>;-j~v{o6({t zReY&U%RE~^q7yciFSDWEuUc$qeuJvwZ}RZ5`|}>vY28vzz6D6_{WkBgsV8;(>EY|> z%z1F*I}}O2%OieJk8M1BX6H_x=yWyhg&ngA0^25lNDkufSt0c?bEP*fx=s)1hail< zucW53Mf6WKZ2pB{E}uM^^Z~yxJxOc3)a!j6wkpN3RqS8Uo9}+*`vJJ8W|R^=&9UEX zG4X$iX!uad|0!~WO+Dew6Wi3!0)A651m6IO>690d~ zJ8bGn9r450(cvxp|0zY1pYe!)uE#HU_$J-ELX8WpXoq&QP*3liJEwPE+pgPhszE{g zOGBwK7oU@3Q+UE0d9a;w~dun?b3!TSDfm%(#E#;`BM zGr;9Cc$EQ`hAE)OWq{eDN_T?FF#bJ}+QKwei2p#ex}Y8XBT>Kd%k4Eir8@o-S?Xhr z?@(ddygvg;kXb6RUctCadj;Ew5FW-$=z$2MC9Hh0OVSzlDGbK=S{0N?i;=yo;GcSG;PE* zZH%}!U?hsXw6Lm6ek>3x5eZE4`7|OKPw;5V+tb{gh&*~N3jmnP02TnSG6Pruz#bXE z0vcz}bWLD<&~2GFVI-F+&S(=t;G_8PG1NQIYXr?3^vE`}#hjS)hg{}X8yw9j^N`E^ z>JE4su)0;HqA{dT{=upmwx_7X(iUo z-c`lLsw`lIm7|uWSO7ph16W|1dN4CXeEA>Z72T}x^h2;JdI>>cSd|s90D!$RfCT{T zodGNWV4n<-1*{GsTb-p?0Kl3IkOds&a^#9Gm3d5-#R32xn*p+bD|5FWzn>yg^%W}{ zKZ0An7Vb_(HV)0>FUC1vN=#2_P3L=uBO8ccIq4&Tk>vA=@kNvds-wewQI61HXwYJu zCjuB@`@ zWn>QUwT6{GD^JWO3xI*CHN-o_jh2#^EL2{LE+Uka75%uYaC(@CSqUQqX2VfsSS;9# zQX-UEHD{74OV^j$7aF#UmY+ETu$CG&+?*M``Xv_&wAozUgHo z1=GuU8Y6ZhFdOd7GucJ38Kp#+B-vh5&O-xulax&+Nh;wyU%}gtcjXyic(oC#w;nTQ&Zo4m}iaIjN8)8>q@#26l~iQda@k zUybN@(?5^P#*YOUP-`=Q1pw@q0W1JuT?VkgDr6-;7SZT*t_Zxtph5pKJsTkvnPPog z+X|LUWQujH&{o2*91WU_U|m?bBty}nKXWLi|6&wJG~1>N!Q!o{W;h_D$^yu`rG87P zS>(&zk*_Gi7NxQU@mIT(zO4uiJupLQfegzxdJ2BCyWp1;S(oC>$#(Blj=)qq^?g@K zr~Ao)G$lHl$MjL!33`lL_QkBxHs{pZtZ5wtJ?Z>(YzKO9N@Ze&#nqtO9Mcvo*iemjme37yOQ#~^tY3xfE+sV+#WSIjpw{K=zHQB{;|E`Q0wtx^Tg^F)??1MeraL-;1AmiVOX&M&i$^4iN&!w^5{wT}9M3gS<5AQ|#;|@}# zbR%WJwUM6Ji!@mSrR=;=Wr~&sd^fE>5n4nCb)uB`u>`}`q1NDi3FDVyeUg?vqPOf% zRrYaKRw*%JhO6rQcJ}qX*?-o_u9P(UC0TYja=wTc!Zhu|EN%M8UQ|Etpi+v<-hvNw z6S68d&&^p`@LnLih+-*5@=C=POeW)9^k?e`1<7)uvY@rY)*(RTAUOhUQR08l&ap@xZ0ykKipGzg|U-i=afV#hZj0X(@j?7#m1MXZ z|Bz>oMZu$3Z%ZZQSZ|*U8rIt{27hQP?VQ;TZoO?&+iw}#EPbs&5T9bz&UV~1mglxk zo*+JzEcNA$e}OVJ+m`qDm~C#ojsa}{B&rwnh^inL3vwEmrjP0!C%@1*al)pQh-sm^ z(w}}pZ?0b|*Xb0Wno-L1(Y?vPQu2KeJvF10Xg5jXyZoko zI}w3=gf@hZB1hU6Iqx~`b~UABCm(v~p=;w`qs!yp@o5(Bg>6nl$Xngwjm!1CCjIjh!J7q*X^-l2bL2$(#8kf$N125bDo6+gXC~z z!0mC*8;!IvT1Y;Spb{$3`CJM|OTa7PIB#Dqzwl&*U98^?a0dTuqUA zb@ZqbhGUN^xxLLLC+~q1a}(r4Opv9zp9Nl1-J1x^hD}v-jbJlMiBLA#p0xPI^1Gb0 zNKjj*d529sAHFR%uDZMZT8g;2a)wa+Y#v?wVntt0o&!vEJePOa)bml+@jQwo*YSw2 z*W>v-=J=r*bvxvjNDfjBa9ldN;@@`$7fv8X5bIZs{0PH?6@=vWRCvT1tL#TNP$6qC z1|ELtrufay=nDW+Nak5QLCT<0^2r*8e#E${E-3bsu5l8-P!yX^ieE%9`5q&mvC+Nn zA#{Fovrodzqyn8`u|-u7eLrN0wzTO>#1X@);v=dz$+j(9Lhs|j)zGLi0mxV%S4Gg zmh^IK$*<_>)-4uPDL;8J&z=KFw~}aM@D&7R!&mZ546E6F=uRFf zf1U<^_R^Ss9WagQExf~~o{Z^x+cnIaF4SU|FWWzPJ&<{4fUG$t$8LVYeaCqta;mPo z42Pc7#gckQQAOW@0lXiVq8tSDd?Ygcs6iQDT)_(SQs$l6ct&sbm7VNLNzZIx2EhQ%9)+#b3Cbnm?2M(-)94z%si78Q*U4&; zoUsB21(%y9@t3zGJdThixQ1Z0d;)`%+tX%$sA>RW4sP z$5d5`#4G-W9(YNiK3kKpcf*+w$WQaspC%%Uq_EVeji2VosrN9l(Vem3Y}@8 z9<_;y)nl)ApPNuK{*7}J%C`M;6G<PvUF z@MFcVRcW6*lN_vlc*3uTIX5Bcarv@7*-O=EIK)5H<3~MxvajlRf7&M>us+d~Iv5K( znj=+5PoI2HeeyG5|G6H&uqt}^f6E;Hcb|+9y6j}c|L$Cb6#Jt(7hwhd|2`L?nXq#% z!eX6s5or{!H6vyR=OT>if8$&PMv1vC$6J_>gg8ckQQJ8e(UxStDc+~&BBX5m=7;D? zKVrq#eJ*0|I_JY=>a24V>#TFIDm44MBMn(3JI(MBWz9}An5t@8wN|0u{HQ8765MHq ztoWa`DmmIA_M2){@^^u<^uH>CZBp_ML`Ujhnm5I346$;)tIsvFX^NtG7Wl^e$Y`@u z3ZPYYw2vf+@9s!~**|Ej?tOy`N!7l=MS8n^gNqe(`vwoFNkQvuK~m%B9EF=7BcaO- zxi-@cEc7r#_SK+$Kf*9Iqm2WD*HGqtCV>=1<&oxzOIv9Dcjj8*s2B# z;k=!K=k=o6zk^CC=}y7r%b! zB$5HlIdqx9{*8?S6BnDPKQ8`g1K<+`X2VbNOntXXiJ1MJqw!N&zE4}e&vf!BCBjwa z_JUU+|BsVi|14n5wV&gyeS*)c#F0F5E;IQwH`6k2t@8gzn*Tp}vrq5^y_$+J9X!lF zfq2z39ej}@^Y#f4)vkSl{Zt>FY4pK-D$?^&Rz&a2-zTt&dL|zhC_R&Z_dbD$|9`zt zAQkYa_6e-OBkU6>&;M$l;43{cD=Ge}Ag95s>Fat&$pIQAhmbHeqm&32rS=J~@6C0f za-D9ulrsJN-sFRn?Dh$i65)fieFCY7dHVz!f!p0D!0d4Q1ecIwd;0`Zs&n@VOwp$M z1UK|jb+D+~Vj5H_5j@ED3BE=UuJB6t30}}!^pFl$loI2Vbo&IVF5M@vnr--gU5wH2 z{RV;A@S8l-eFCLKcyHYB{Z^Lm+m`P;oqS4(@Vs>G6Rgwt_%3jb-v@bzO+EjOeFEcp zzH6Ug8|CIX@iUuzf7SE7w4U!!-ZKrk;@z-;(SRdbDCGfIhYRAqiE@rx4-<>Xf+s4c(d9X9oR__o-%>hAX6P-MsZ1P7~* z-==l^&g#(fQP%N$)o~q<9qtn_}J^@n@E`3F}yHD^3s>WJn zzR^B`_{~1S9|2NG^J}(GASFL{pFq8p?h}X*w@Wzkx%@0=-o|090H`+V9|4B3Pk2Ff7d{XS2#w^*NX12D8_AdRg?++uexRHiBsHfhzC~k$ z*|9gb8(SFLXRz3O9g~v#IC40gU93T0mgB&k$*OqOCp$i9zY8hX8P{@N7LQ$goIxqszES4$%F2&mo&=&yB>kaLU{ zjenz<>fS`%`q$2Xbp8uzoj?NbVkY4j8crA>9_Xg zxmJ0G4UbYH9DH`T^h!sn-7EutEV^tOuc;kaze;Z%RJXvsfgdruh0!Q@D#tDCYy1!? zOJRKGIS)1_*d@XE<`*OJF>caQJ#74xGL^<3^>kxa`uj-r>s?2Ytu*X4{)fbfk1six zD-5KM?A@nt!*rJp`JUkN&5kKxXC}3G`OJ)13jnw}16TkYq4!g8P>6Gce6q---QcVJ zE8^vZ!$wX)J_Rg=<2T*{;;FHvcf@?p$6m-oTDJ3PUMZY7H=eNER&dgSR&a%aT?Kbd zbMIzZio(6S1&0-!vfxe%u2j$%>`%Wv>$JBKm<^w!PTPa@sTrlT)G&Yg9le>Jt4w%J z$fT5(8k@@fssu$I&ZNERZV!Sl&&v2>0RTv%>t+i8Xl4Kl0JtUtSO7pP16Tk6n$_X3 zz-s@RYXL+N#3TAavL}I-KsbV2QbkFO%qKxQx3QqWLVsMk)IMoP4>4ZtcrBl(r{2v7 z^{;K}tR=ng-cK|RX_sovs9MQT-W%=nyrU&U=%L3l1Zq#s$M{vNQtpL#5%b+}KCVJp zeXl}%JkgPGn2B(MLWSW%<2h9D2lmHL5TfF6(LNKY*BoFlrJ=vvUyN(2e1uRj876b`LJ-AufPPc$;JEBi z&OSOXp?meQN&Selc&S_}4i7l$7ZDDV7pd$j%2rpD2ON2&@<15h2)sJf$s+VlCtbw& z(7$ZLwGQ}5hn3HUg!Fv#w>!}12GwBXyYJ64aK3dNZ|0$pJIXxo z82Ti+39_Vv--Q^XgWs)JzIC5oL%G)ddN&26@5IlQejyi)ASZ)p;}=s_-WxZLG`CJ>X}`;jem+dm=hcHWB_L?^x-?rus2{40uY_(J+22fq_D>(2w5( zGiv@eV3TU-kGrpn$W@#zGw4m$-1+iSpdl(7uEH_P>%qw!xG%_ZH9F_{#Id6uM_f~+ zq9m_X6go67Lb|?(g&r%5QMMncH9k3Me30e_jj!=^AI&^dBkw9dSx1JJa{DsmOD$nd zNjQje=ypmaAEC>`$|@T{5!%NziIIsBf{ZW+dB>^V2(=!@kOLo9gz=sP1`67G4{O7P z_y8(Mzx2r!2Dgo+O!-DPQ${Prj;&kY&++9TKH_;P(l+I{K8T!|4RC0?tv5h&#~!88 z2U1UcMMUpZ&6R)x=*<(x2a_eedILPmnIqTnMxnwx<&6&^L$n_l;zJ4XQD+z*Mqr>2 zGllcH!KAwLSKXA;YS*7*-qO7s-5K8F=isHTYJ7Nx_wf#|ME~E!i|u~|g<7IC?JW8~ zr#|pDsIJD}>FDW?+F-?J^AQ5G;j1-X*Hdn4Mk(Xbk)j|7$Ks<1#82QcfPy%hcQ_s& z!^=hnYlzX=@K~bB69r=e4jl~3up1^BboUmX01e4&s7`D92dK+;bwp31L{8z_`ZSTcmD zd$x=bb42=)$@YNhKz6KW{B_g6IT_ReW1Hz!v*ltKQESXS1N^M1+n^5k9u93n}E+8yBc%(pRJbE(4q+TmQ=Q0xaWm(iX9PasM zE!GNSW;#|HM|Q!SIavv#lR?6LT%!fNvjl70^relPQyoc49W2&HSn`~v)KZbu_;e*M zNiT`hEeXMvk>c1$|JrXNb>(8Y|F#k4QGMDK#!n&d$iUh=lrj)MRk6YHVEi;;TSs69 zjy8^gGP~N2Njn9dn}KSh0kAX3AD^j*x}e%OHnO0+pmq!?X9?v{dFZB#$Jdn0Lu0pD zHrG|kx3Ijhwp)2{G-J5GB|ck47CpF6A97kQm*aDYZ-Tl>P_H|gquESC1582#ZW1c@ zkDoe%T~RLHbn(GElN@$#gfV{acPFh28cj&fxYEf1d$x{e(y>Kfu!SST<>ArjTxzZD zOlV0e3O-qLZR%du#+hBm*M)N~nlaGKYv8sMx0Oal$|J6Q!B!di9T}}f-8T?wp^!=E zm6E>bJRqA@q>>J+=zJiR@*ETwz)1TwGb{Tvu7?TvA!-TtrmqTu52z2vDVS{}7+?XO_l4xML1R z>V`awfXfwpkp(#$QPOQ%OfjglY)$ceLy>MLMl(QDNW-Q;)1TyFBJc?Uv*GKd?XRG=sTrlj91}u2g-w-XGPq004PbG?V-Wj5 zbv}kVPgb38OzZrtaSiA{NLiI; zNG5{>&0(a}E{Bmtox^C_E-6&vFB$6Wh++G6xu3*K$e8L#pi$R0y{sIOTx#Q=6XRvq^_RZLBX$>{j ztwPUQ9<`|6WPM%mSQbd-my@qRYl#*0Ho9RbU)zb5QH+tPRq$7{PO|P9s4nYD`&w^W zA%3n^?S}Y~L%CXUbR_rSe?W2jDw>NKWLN}YQ&s6InrjWP)H$T*++O=U&}}Nl*YR3V zG_1A8PT4)UZ<~whp}CkIyHIs4Z%i)2H8cGn6`JsUmjGu%MEmt%o|;iggnzvn;qqwQHk9x61#>Uzks@G z!-(Ar2{^I4c--Xf%gCK_Wpann+ADV$vt4qh8z0>$Pz}k~X2oz@%_0jIk?la>e%uPg+*<&cm0zy;C+H->ahHm23+7 zmU}drKe$ZHHF2CBBr(86jRvdK(Gli!`>Sq7NH5;ey}dczhoiT1I#$sS5P377W%NEX-=oYEggE#=J+F-g$0Ws69sioJ8xCz*WI3%Z7?S}o=xd_dUkx~W(K1Ah@1)%Q=zoJ*PHSIDLO z0l!7&u(N)rS5uMfzVmOxMt9+KZGXGWSk}R>rG{=sfTE+QK+a~Ikt%C_lLkLPNkpJe z)FXAGfug@@7sdW!o2j;<@JMC5P;aC|d{)5=i+R7P=EQ%dma$5A7I^6|=&$wn=i^yR z^j(Ww9<8iQqBVMr|Lgs>w}C67G(>N6?a0{;J`vM(7`O9G3 ze6(@9z97(X`p^ni@k-r7*#U>L(2L0Wa18GV8VQ_iOx@vnisg&_nt|Ry{86yEeq&H* z9mn`nM#jRyj)@Bk+6U!c)`B)n>Cy2sYb94@-G@EP&a6GoMK>}P_rbxa7>^@{3;Jz_ z8p-uk8t}$s#l8yUf@(2%2xf)Akk!R(DqBE(5y_ll$A> zQ?%X)7|VFH@kY?2bN!~uCp4l&bB{rCvFD23-+WJN)$&jn(<Q9+N}c3TL9PJNloGG*mv7Cxyy8t3GImBf6Nc% zhYImqm9?)j6mpg3?~%&*Z2EY9VBhaJAdxfP;Rtyk#;APu%8&V5#`f~-H|`nMON;q^V2jT zZRXunB$uEBIR&l2c9YvP{h zS#+_c7z$~m1a;e~8MfLQ{E_X#hP9k>e20aX`*c@^?pUGgM_TWJ@Ri@Kc!vT}moQh$ zKJwng-w=QLC-{f?JBhzCeC~$x`K8C#ZQgIl)K9wpjqKg;p&I25D{sYca!$rnq|a8n zcb6*ZbU`QN2#lYoVd*zDb~#o&+!sFpTWYMgQM%$#PM@Lj{18v$Q@${ETVedR?&4cD z$C!JwyXHl1J`h)R5jwTVyi_!PlA_WDe}wjnp*@d6H1-$ccfzKwG1>UMhRVGFS$4vj z@Jcl^eiwj&wJ)T2A>NI4-nET^qvJmBCSgHX?`H(xN3e>$Ep?SfZ53)>1KSnAHei@@ zAj&8GezFhc9Ux?0EQg3gF@6tVaj~2$=S@I>Nkk07)&?SzLJBsuu6w$?*rNqEziK0) zeWN<96vp?0k+J3WsrL0=^JP2sg^#M}A*$Xb@FVRIrHGbmH6>%YNY+B#tx)S<+BRBr6rweuFx~XEehB0Di$X`=KHi%1 zI`mB-e@}oH#nIbH?eiH=X$Q_GWU1E zT;H(=UMkdB4`Dl$zH3U?dh1a%_ft@q?VVog#ouv$xRY5YYfhzkzZE}B6SBRWj)+3U zq$YC^UBHAJw%*KJ>Q`rep27Q4c%FQa2FrH;5bv<5r}4^fDz|QC38RG|uRq3b3J-?M zhsopY_T%Y(?f_zlU(r?6sqWv=*iG0d!srOn!4&(g2J~*pe*7e2M$;j%peqJlI)}$6 zAKqn>+2kW2;PW1qX-*uHkBY_zc!ctb&j+%snh&Jo<^fx85o7EtZ@vNAHS5}~Q&~uN zuyHXMCXDO!c`1kOFy+v8%9P}sINNW2;tb0OAiW*`aH&j>T{CIHbZG}+lmE^sgd?IRWT-~9h8u1 z*PncrEV$i8n@+)vKFwRf?A3R){Y01(nIOUr(HY8)ymdfrY3qR6vX+7}{{uC%8tO|o zwD_tnjIcZSEvCV-1=W!vyR1-@8@27smF!V2=x2j+_0P-}KLzTp(0KimttEoipKUE6 z2@abI$DgAi0|gGB#-Art^NW?-#A9OiJn)DzYX7X|29jK|pW=!(Fct?3xnhjpzEqU! zS;CQ8@(J8ZE%|q-?>MHZcMyMp%$4=?HrD05(tpq>zrdNi(J!oJHP>%#4~1xgDoU9n zU@cAw_2!1H@5{z!{&?%!Y~$1EdbgcEkSlDIcyAc5mfvC@>RPV4I^(ye zn)+a8YN(>?RpZ!g98AqTf=09NeTH{Kc%min_lHJ8#Z zy!YqtaQ=?tkFm+=YIu81x=BB_`2|p28QY8_T`&Baye`?ys#MXN-RtGK*j(A14ih?u(Ro3CyhD9zBNZqj|Tk96;wF{|Az$xL<1a&P_FoxQ0g(6dbRG?gcJ zJo;lR9IIjN82Q>0LUVgps=sRo;+DWGCf}xRv9H(pNl4;Q8rTs>?7zk>raqL--BbT( z+Ubs!b(qn6((=JJ2U_=tQ0aiZsFM*$o$Oo)nYdwfF7unp<)D!JrEYRf&JUvORaSPt zIrQ$?iQf(V?&!@}^kq+k5KT>KTNs1FR~+-N`^G5Ws>to7d{Cx1aF4TPhuzYz(W z0tNX3wzZ*e3OkCc2*TuRl!?BJ`UqXVLhJ*MzAjWMjl)~7vA7TL5Xcmx$?y(a0@|(? zZT&`DzV#2)q>J3EE7xuzG5ydZ7x?ivz&KdkScM0;|C(&%JU%H=OsY9-{SO5(*>g<= znnE*__sz2we^aFV6G(rVEtUa_B;Nw0pAiVFhs-;>m>>2G#-XzT&qRHR4jO-Q_fSm+PN*>&0PF*G=%E=>3xBJ_}xq59B&_ zjcH8%a3Cv%Qtj$~(~@fO*lmNleM{(a@keOMhN0Z?8)bl$!gVhMRcKt z?Dqhy7|QK;J+EXzTUr8en6xO+R7FURg@wZTi*YNId!Q#sXiS)VEA9%2*xF(ft)X7g zy3~LRdx58P%a)y${deR|6mk&QSkW{_G{puxkvB&Se>001cHFV|n}lhs9SjSa@R@sE zfYmry8h@J>)uwRPi4fE*A&EQ6ud!v6le%ubV25<^D#YI*yYo|5;QKY|vqi4Y@~s@? z&{=uC^7=WQYAYnX_OD`mnOtlFxB7u_xQ-8fG?-h(H0t`SRZz64rw#JKLQ@&C0e@Pt zKHguL4TpR9xt599OGbfdP!w7NlwfeQO1zEzi+i#cr2)ozK-E)RJ@rM6ZM3;jTg)*3 zEu(Eyv0m{DP0`#`>s&TRUTnU#MtTs_uhEmG82+UmVeJ<^*sggUpbgz1mpatQK8W=Ns*^^1_Hnq!BaelOXC$TgBg#FR( za#-RAE8A?S{`b8V&@clHQk>j6@i>;^|?0GNXEY&4w^Ook0BwVfEeV@VHN2x;VqxLSg9tpsVwLZ?<&XpV;c-lANTN*DqnQ>W9 zg(;_{9vcUPE4kyEKAEcfD|5(?-xRe4H@Uh9^I{CXFhZhB`l*}JU?;f1zMB}ytzF@x zlE$Tym~#0643tDUALuu(s;xmHTtfrm+VN~qG!?hbh<^aK`T-fpW(KT|EZ+X2XA5l0 zfa=7q?cLC zR2&;950vw*MIw+cIKH(|q5kr~Y`CmPxmMW+lt6F1 zuJK(#MjOSk)FI>A+!+L)pfcHShn@$?{6jpv1CgL{L|<#Ev(fI|@b$nMe%|+JU^n~; zY5pgYUkM-OaR6_u_3T3+^h(Ya^3HbAFt4o+>U+80>8S6K&y1IR+jglzcH?Ru$3rdhS_V-<6nY^XjfgW9pJ$rK)f3rZDIP&0~jB zAuK5ejej9V;}LssrCM&hRE>hhit!GF-y9li90?$3oXOLDLv}&X}U9f#NET`X79%?RgfXRSi z+$~OjaLLC}-7y3w){Vt<5!>r(!`MinS}W%#4!GoWO`PShT)53XayBa^{u3D^+^MBg zNo8kC-|Uoi3iUtxYpcrn6_BHUGiw&KgG@Zdu}jMN>%OhICJ=Re1i5XQW@AWE*lv8d z89OOeiv8@@?&OqI2)51i8>#JmS=ngM0gk>Z2g^_6<|>aH09<~&ReVd-=w&{6Zo1W`Zf>!y@ zNeSBBe|}2PGXI8@phbR%9wRKH=QAk!>)=naoEcmGreTCVFcWmis$mycx~ks=mapM! zC@G=}I|zEW%H$54dJY!%+a2B)qdVyJ1^q{;Lw?5}#+&z0`j_XuAAf8A!J}x$tL%D=s546LLpUfp}#oU4~a|m~x z3vW93Zgb)1I{5B$;m0`m)Li%)!BfKaXonko#gTFhhqPL{a&AEh7Vtgh!hh)C(OmfF z9emHZa6EOwQ<)2A>J+>>7cRj9UYi52UzWC_dS2S;PtTfAtEG_F0g3-cuh$mribj0M zX7GXP8bz*6BP-LqceP6^?*mz0ytW#G?8Y#E`KCi)S{XMizF?NrrESHP0nWV=AJ3q0 z+#Ve^+n`rmLbTW8-nD53cbs3^-EYn$fYT>N3=vuD+vB|Ja^KQsp;23TX`NmTv_ zIyfS1MGNsd65|g787vgX;{AvX<%-PZJEY@3I&`du(a$$J1jLIXIx-iAekL9mXAeT> zT*a2yU_S&8RD|K-a8V=3`80FhW^kfQ%E`fyqHh=$O9wi?cJ=9PkL6sa_T!U7$nPB5 z2hc<2rYBlJDoT0bnQhCgCsMG_bMKbFJ=ML`elP@8EsT<%6Mh3Qa z-u8fADE=L0{L8hL&|1H#9E^#>)nZ$AK7r|s>j~1{!j=xgrn06hPb8q@3H_o&Z}^`^ zJ6|OHk2n1J)=~;_)M6R0t__&@Z26}4@tZ2^{A*X%nO*groU)1-YyfwYL;NQOEF@5= zYiOrx)@Isg@^yEnWTV`*ljG``@SDn%)}ehKPJYDyGK|_9a~Lx})-Hj4xUF?bpKX5L z2+knd11^_1ESlgO4rjKi(yYYlpdqcG3r^fTz1?znZ^M}{^_H`mV)l%5hDo+D46yIr zgNR)g`=~QWKQup%xHis?<{fl>Xl^v&M-6Ab+>M)y7x;fwf*&HB`AT;R?NeKJ*gjNK zIP=x+60}d(+B`!07)9X>i=w%|kNdNZ5Pn^$T=bwf9`bk416@%jiSFnH$P zc1M{2LIxqQL^lT$7(^=?w%j_cP(_|d`mX1!w8 zp`6;{!AM*bm_ZW1gy`B=Qy@+L0C8JS4ixN&=ug1;$MjET(}(!O)P2}LWYu(;-pGZO zSGl#n;lX(hwIPhTE06C@R6Peid#Yamki+Olq*-IGfD6%=YOCK=%VSphB`cd{;et8N z)U%6Mst4oMzNOaUwV&v&kIMzq`rf`>@btIA9Kzx+Ba+c_y1#N*uq1vp z^a-$226$Zx*hPT#jfarRU6NTEFrx-JnF#Ex=#9ukCP{3KeP8@!YwQPl=UU&wD>_ym!0rd9bcL&gTbhIYY@V52k<4 zHdIXAVc^ze*5@aXzl%Gm3&TY2rHI2@(m#pZV+rrU`{DjRMf$J#8zFBaEvs^Cbrv?5 z#v_rE;5UB&$y{@uF?}tU5_ePLK03c7n8vZyQ^v#)J3>wNn_@sm4E?6q#uxieexfRU zQR5JR>WU?s1(VHMVQFdYsnq8;zfVeO?XjwR8fQpPO@+84tJ*UQrtyXJ=D6!sh)DeV zb|Y}wZ#Ua*%Em>SspLcD_Of-=_W{e%X}epKo7ks~T-?)0wFrAGYf-foOyhFtB{uF1 zk2AI}4v#oeegL})@!XLz?`V0Z@#2>vZgu8$(*vFHgY;MEn$Gy?0@(PmxoTJ1gRo)G zXiRiTDJMBjMhVn}SOU%O-oy_v(%g@eYk8(E6u+raGF1;&j&W&-R7vIJ#`2}!6*C%A zjoX$H(x|E&4Q_bHm31s(?JKUz#{pr&psZ1zJf)2SYfTWp%)+TxV)W-66d!gnK`g4H<;;n4J#L&q7He8X|@&dk0`;E;3H;qB#&i#zi~AIP>`%Uk7g zc5j~cnA>IS-aLNxn&~4q{Xrhg5h7xItcyRgJq`nh{$;-0S`bwG##=uX-Sktq(zWAf zisxHD*J~(e*ZxJPL9BgB+xi9I?KDq*=Es8@f$M3T-xT^Kt8x>ERQ-v`0caBjzo}XZ zC<+}*ahak6;pt$}HCt^y6MW3rX`4Cn>`?Wy1;uHDQnf&Uy=7TV4r_EeWIEKwl))~h zP>EVp55|}ldsqX1efyUFNa|YXMeIwLmaG{H#@CdHsU}RY6h01oiNRGdaKG}$jGY}0 z{!%T>wSJ{nzJ)$EMp}n;82KB(V&nyy3NAUfc%RWQx6h)+k#M4MJ`Z`|=*s05_O>C#GF*5@IJwreDx0b>*?@u=$#0wFp2i@} z-QL>$6|5A1=jDC0Gl~csr|HmlRLZ*7{f3 z;w!SnmtG1$H3RdjS+NV%3}kzfhSG0}NA3>7!RjP?qR2=|_de;XIs2r? z?M%8=_YJBWq`E=pJa=o<@(=>v_ZS3>n_k8)^Cq82)Q7`+e>&UJyUAPs)eK(jt3S4H zP`NqE{1>PQVpeJTl|+ke#cXtk?}J=&CQWv!jd`ibdF@0lYQs5FY6+VY0!Bmguf*(b zSPM{}_GK>R{fhQD$jA6vxFlvx7~@1h!yp7K*3zT*J2y^)bB$;4Na2Ay3VQ&C#HREp z?5BE`A*_}mT<;z z03%#LI)JYSdd&w*8`dmNH&7zwc8{!E*VR5 zQW&`JaiPC3Xyhl@4V-)1Dh>rh&()hkgQ)+H5wJor@X5!z5ARnSUZur{LujeW7hu>t z%#VJ2H^in=_RDT5>+p8aTei~46n9MS3hI_B^^@Hc6w=OUz_TP>>u#S=Bu(md&K*fx zQs>;P3K)OcjqzRsoojC(;5U_Ex3TMfyp0Gao~!z`1nC|eW$QH65Q7pv>|gg*7o(8B z?vpOeRt^Vx*L~W>SpN8OfUf(Zi|2^1dk_^34jqKo*5JBtyLdrq+KC{osPIn+ul*H| zpm7SM$Gg*T4E#mdzt$u16o9p#w+!cJ84B?(q_4ZrplC8z%q=$?&&uM(cn{^e$#Ok6 zgRY&n_>JxOP6Hi^WZ}rfi@wp6N^?;!9U+u_V+;7^B>>4z_(~c|-8b4@9 zib1&)uY~)Z8~$t)`{0;U)7AZh#?RVWR|SnfWD!2P%p0GoH1D4ov`X{xlUe`9dw@2T zL;X;|x{Ekb!=R9zgT?0EPAhVDlX0dC>N^FEh3)b#ts@_~-VXpOL1S@O-t6N59q4!R z)mWY-%h~)PI+dm9UA!u*8WSWXe4_z+~uOW+Vv<5 z8LoCkt#Mt0&ha%Fh;Ej!K-+$fo~^cYe$#;c-O$0DzCD9FUrU`%gCv)djLCQ=lDm?f zY`&y=M^?a(W(ZmnYXgn@#e+}5#!Z@Mp}Jc8QW!s-94;RptK@eji)rk%KZmI6PU=dY zY_^&oAJ4n;`CN@M*HJP^s))L~M#U-%lFI?d_b6>FnamP#wEFQC0QCcQA}YR55tzWS z54%d9YfT(8EO3dR>7u~2b@I5DgnfE&NpBc_L*>cg_Nu(1Gr^@I>gt=eq zDLDJYjKTEHQ6M2K_Q$v~O7*E?{AN-|IDl1*->MKth#OCY2gR;~*oC4ous+alZ>(Qd zz-M8rgm#{+_G&&rW~1m5%1gn|A=_>;dWq6(&N&Rax2W&t<_lsRU(7!vVO%4?){ZDG z#C0O+B=nOxlaQO=mv|G8b90a`V7b|9()`fQWdmYkR$!cJMT5780^zrl6Ay3%bdXJPew7FN&47wNH@ zY(V)H`V1ReU50I-kmeRPrDxbIoMN+ZFE+PMSa*UxS?{_%tWZ0m5OYtj78AP;^Mg1F za+p*M;}pBdA7>sIll-YZR$sFs~FXYwnt~m;td!3e!3Diyk8tH3|33P_{2GO%l`%}EOC>0#+5aF(K{3^d~EL}%_x?4EL`F#M< z>&Ev<-a$9Jw#a5}0l!Q7BZ@%EENt|t`hn^R1se~8A-6P$gVA4g_Kk?ik-9-c#eNcC zsq(bJZh}*8E&xvxT;cSq{Wo@hwQsz1w2gRYJj2m;IuqQn=Z+v#V6f z@F0FSO|{fczLfdhX*2EG(oT3~cPA7Yo%A3+38I}lpIZRu9%0jBOZSxeoJPC!wb|Gh z_3r(YJI2OOkhXh?883RRy=5LeAW6g7pK7{%Cw6MHcjLd>f?7;;%33 zj}E4YEd2I0KGAzYKa%4kiWzca$Gx0*Dh9Xrih+}XDeuC~uFXv5EFRn>ZUF$SARNE~ z066&S02Tnin!*7rAe-ta+I^PV?LM-I-UJ0fuRS?Jntm$7%swXH3&{fLc!A#H!t(M& zZzIeaGO+Jpu=L74`s8d`K1DeGNu~M-{5cuq>kbl_E6Vb0b`a0~8puStxM5IVOhTO> zfznzhd8Trexy$iZ`l)fdu59`(?Av7Pw}Z0wm?~`B#8bKWGKx6`>241kPSs`Ct_J%p zaViwz%?P;OLOUjZ9`Mb>2E-EE#{^z>(T>vZ7kRt*Hn&#p_NSRParkj%J~jv6XPwKy zO%6d4re>59oeMjXZ>x;q)cPB3S@t*HZ90={E`Col`Pm1uY<>qYXDylC7{(8%pm@HP za>yFx?s4T-G+wcLPr1O3Ksu*RTKX%L4&p;0#&E0w$J-4D6lkHlQ{#}SUK~BeUtq-# zQ}L^O`#z*4K}&-Yv2@)%7UZ~KbC)2N9@VIn?^5>YkmT|5px)1qk8_`Pu3GTNEPyx1 z(#W$=dF0-)z(E}Y^;22f;gknwQa^XwK6QQ-3@-P5P}5C5x>iTuKG&XJur-9rir(n%NdPGa~ z2~iFkw4CZ%R((v-RgE9ObGNL50__<{H_=AsAx)W*X*B>7O)TROe)Ms`<7;;JBZ&id zo7%hc`BSZAd)uXPF2PL;^Ghn0slGHVy^5bN5Sn^1%bN}l#*DDGb(YIk=-#{1a^o4~ zkuKG^*q^s#I7nrf8>fu&?a%uuxlWd|m7n361kWDb?VcTbkbW{La#Y#G2`Ak+IBX87 z6|Dr%a}y;)gc)*4XDTr1>75D?wnY*)-sMc_EWiTEyi7{%$lo{AWQ{%f+gc;`<-b&-wQm|WeQEH zxJAMdDTu8Cm3K*I(f0sk*7pE9w*BGM6^`@Uhb}#SJn_}HYK@n-OETUm-gn!+y#vLM zz6$Qnrg4fz>=~$X_oUb}SWJ!HboTv4_v{;V?J>J~_;KFy6Wly3*>6Y?=m*Kdvw7bu zdQv@HdnB7zJh2vq#vTiH*}P+exEU;^XgqbfT-e#R7{>NZLpO82pre}b$Ni4ZyR2`v z+w8E|V|(^AJ6%XP6Wz>PTIt$9r(Kz7xg(D82ZvtawSC}-^3w&%*!s{CTFRe4Gq?;~23nN7Lx#T}cHyV-{z-&^fR znkj8SNp1f`{oS@HO%2RbB*S#8JQPPDt1U&+Nl$)*U#IetjoBCP2G-bKjE4{SMaYSn_|RBrlI{_7y7-H z_9O#u_L1${uA#mCYXsEgPl6W0i1l&RQdSlGXhS!ir%=cH43BEo?=T!57G5k;nkN9@ zIFTW)xObX#jgt5QUqjzt?4V!6?PBd8Xm~F_t3W<&ri&ayRA;H#QjGhXqm%Tuwz{+F z@9&{ws+$g1cqj!0EfLVE>1&;}*#~-XEbGRRwuOt<+9ZD8^z5$CaD>W5?AUOl`DpZH z(AO3fVq;W56-_`y15c|X4=b}FD!xG_NSeg@5tF9tGpTjd|V-OT0^1{z0D zEWO#!j(fYja5%KfZR0bIUV1Hz&mvg4H6`R#S#@m!zLG)g@(6v;tU2gI#&f&x!l*b~ zt@sUD<8u@`Fd}p=q3p(sU`u=+QGNjHsqk!SEVqT<<~tj|4x^%X>-dQjO}CEEr-Y3e zw?8F2*l!9LU%-P2RN>$*Nx3{Hpkmgt^oxj9mL(VS+VrSjIP!($N|u1jgPcQu$s-}m zYJR#h_O|F5ofciXLp1CCrV`~!;Ws9Bm~Fd_fnb$&oXFjUM`d{&KN1SG+ZD>Q()Y(t zJ5#?7!zU(`U+v|>1Wu1(+A1SNH_FvZVSgxyDI zR*gaY90Az5u~^Qb!nk}c;0SX|67IBiaviajvSD6fB9&S~h-$+`DcSE4-aw!}xUet6 zBq+(#uit)Ph4~`E`SmD+oZh&FZuL#Mb-9ghO?jA$HF$%eU9PkW zUid;wuEbE*pe*khX^US>7MB*kgkZb3q&E1el(b&!hb}(ctgOhEsEA+2V>9=sFX!h& zjE!8)^m1Ssk$FeuEhOMJ0LeV=s3YgZR{H_t*iC5kh&)m!dQq_rVX)b#01fY zA$*5W&1Zt_>65_yfN&?TC6g0{4zu`KRGd0@l9EbrS}QN>F$ppmUdOBcb>~kPd!3ox zwyjqk;nq4Ozrz2QPqXI6S$T(?m0Kv8yq?Dlw=2m1uC>EBG<^)3rUlb#9>!ZZc@<@3 z*}0RFr~A!a$YJ-|^zE7H`%1-uM;Xzx={0gED)lxdicKw*nBJKOABk!EW_jaG5`#wU zG0))MFEuRlZu9HaH`gecGZ%n8QX# z0cbTBjYYa~Oe?5d^jU?R49i9^TP!u(rkq8>Z9uEQmhuIyX>L<{uQxA;GkfB{iLPbE1X!rcM(LVO_WY0a<;uIoV*XT z^`e<>EDZtdPlLxHdicjmvTn8IQljPi`i%pSj39ce;urW63tZ;fpg+O)iKjYrW1I{K zv@_$%zTK4->>U~GZU^gTP0oZT$og?|K5twO9Y4E=;)`ed)af5za^s(o|EaOYQBY=& z-3qt}s<$s)*2a=78z z=(UQXkaGF4=uU;f+iy4NfZ7v$C^yM^-WwYmO@2WJhaj#0lgh+DKY1se*J35eG0J-t z+{c3NQgF2e-wJP9+%732U+m{;q6V}q$tk!@t*Fv_h4t2o!Mo9T|ltinORsC za2N2vC@Lc26&FNd@kXU}hV@_=vYNz*5XrDk$DJF*daK@g>#et{-ny$UrgaCgUP9}Rv?|3FbY4Mp#VlQd&R=M6 zQ})+rPb>SIwByJaabBlAqwIf$9VMwaLxHc-3mcGmY{#a7?ED>=v#+AZHgLfnchlGr zX+fIM?mwuKg0`qxz zakkICE9{ou44bLOG6$DsQ}z{*BJSnGmNM*&&CF3Z^kL)~F{AdcDE){mBPRthBKr`z zM?x+l9%&X>G_p~=SOQ{DVhX|jHHjW>7RZ&QIifvS+yz{)+y@O53FATVuC_~~x5e@p zE@Gw>Gnc$xW%^pAZon;q+bP6kad$}@10{=dJbS8$i4>$?xzF|4_kFaLWMkrbY|N;!A2j4+FFnNU)8 zye8}7$-0VUT_v8ePS#c9k?Le!4NCcykQ(YyT_Ramo2;u#)eY}FA^-^u&+H$|osNi- z&fOrE8O4ZV&08m(dq^9%sd>PXy4qOow*_bbThAX$Ob+{Q-m6FsD#mZkYQk$U&Z4ma`rbMy>W-!b#kWhJ!kb|xERRR%0M8Hja$9<0_IUG zy>4b1r$J*pBs@|7VZ6sJ(OL_#J#_v=rqZ}{^da)05hBhOps6~YnW}VW#QCxm)JII= zihh#&!irR@oAH2h3x+k>D+itT9c>&`Q1iaj**rv!_6g&ePtj0d@g$0>e>D}RS->R# zxZh@%S|lTcAC@DeO-sUT#&2u&s!Dh+iLmYw$Z4zs^hW zLC^8G5(5^1u2GhxYq4)o4)%H%<3SfgTT=F)To-Lg*$=rc+LE##c3re3Wk2G&XiLi8 z;JSzC(@_{GaiNhnc6A zlVl4t+RO#h7;e6dh|F9itYI5xLgM0(UZN;8S8w42Y}8C9?TtVT^F@tTc~Qf(pOug` z9uaIt6k^SBdo#Sehc-4vFpp^#*x_;>0SCn?uwg?Co+b;neqhPr58U6J1fkr{_^8QZ zvtHpPi=7I+s}#y?C^G-i)T4fdj3hb>8>F0kF6E@_9Tc3f9QlAQMqh+YFPaN(v_xw@ z9?7?_1&5WvEUrV{4xZUe*qH$5Yzz-~fW>5c6E^D5$CP#}h4eqe%mIdlPDP3lO9QO*hFUe7rml7aNzt`ETEQStobLDd4AHb71qvRhL~n1bTgKRt@Wdmz$s+?&{zj;hVD(}=N38tv;>LYi1L%?XaMhQ;4qlwJPMi1_6er0 zGMWsF6b9QqAyPy4B$(z!^5@rua6zr}7(z|J4d31D^ipK6hjstE)@agi&R=Rtd66Q) zgWU>Zsc3Ak$ldLwpmjCY2(N*2rrOHZ=05Q};JgX(V8XP(K~9tNI3T=Jp0sa-5M|7M zEYkKUbwsc@jm0@s+!lr<-SBuAmmpGmva=n-FM;0}{5X-6ZpQO$qymk2lQ!?u=KVBt znGA;KLTK$5prIyUMdV9O`;S0Dr6*g?6X43Nu+-~2gFOF0`DUUiWcvZyQ%cd8_AQD) zKdmulCDBc@ zB6kB)qzX+W3uVd8LKfJXh0m|&0fB`s|g&DG$u(@>}EqnG=tPiA^=1hI$VZG zGfRd>v;`wg9d1H3Y*Y`! zFWrmW_83+iLgm`GA{$!=_quIpuiN{3*>?!-ehFAf zEXyV3o8Dwjby{gD0%&2_1d==1 z;G`nmVF6}9;3dtS!eBecyM5kr)0azROA1k^?n-~^np-+{3TCE+v+ZR`8yC&|7pdFt zze(NJUg|Ky>TqSGMKwf9_hd>XElIb19W>pzlGk{G`I@Wmm+sDM;f0q1m_<0ve-E=F z6~&;NnUbxFHjizKMw=Jy*a|eWd6DEB;Hig2o13QY5#6O4LR*3#Cg%qIQG22RkrnG7 z!@LB)Yw^1iKaiMlFU-y)0wX2?Kzzmnbi^!y5pB5`)~QWVne?53gvsk zhA{(c!0_6JR+8?->>2o-B>Z+B1yW{nj{+76uv7ti39v!|I|;B{0jS{!bAkdeumEtl z0c$JtU)v1{Lb5}R*i^B7i@R>sIw+W|ZzZs{MoizyQsb#HCyDmYpW8l20 zq>O7y$~Zm)izcYxM@O!V&Z3D zQ(-if99;Y%6?#1V?J$~cX%k`+yds?Kh@lX)m3SUk;<=>_y?0+>>ffAr;`O%$uk-Pl z5opJ-`tS~xK&Eo>qiqaqZ6mR7RxKvgnk`f!Z8fH7khUmJSU1P_#Tz0fKgoT$LXQRv zg(U_$YAt7X2#|kpYukxLwuxivtw5p`xZka*W%n1sX#FKZod0aag}kCt>{gd#l)fAYE7XRCZ4HhiQNf~u^p4#JorB(D*mf??j}Gs-QTnW>6-SngWL zHVrl=hUSssa-&F2jW?ZVpoLp=_aT0FC?;t}zf%5!n5fIWNAA$;m*KVB`&ZeY>MpXU zYW3m(n3*{ki6fX=Ag+M=jSbYmFcr)WH|0?bH%(fL<@k)d=Qdy<5zJQi3#Ml5kr}>P z>#9T<*o+!5-a-QdZN@)I+lSvEZCfDX|9jd#K}`RjrA<~UF#LOrwE}Yo9K=9&N+dG&$Qf-VPSYsc64~HF7TkU@#QMd+^18yKk69bD zz;P~TeWY_OgFTtM(#2@pz=AWNEVw1+65QdLN~ToVR4J?)B+u7*@p}_xRl{vcBAoOv8Yns_QNLQx!#J5{{bDi-3&_(-zGc>-X!HV=Y z*u}%8!Ad#*($LWumAjJgL}WuuEtOKX0+ zp)NkpwxF~;nVMKyuJjf+DtrC^8Y{qNkTSr z8C&fGS&CHvIq_Wu%P~lf^klKGXtIT?I9&jH8js>`IGD?5s&(cbhzlbJe_k~B@`4M+ z+{MK#&fpSSDHO6>H#5R@PPop{Crxs5MzTWf_Zs7^0OQ7c%=gtGYmkvs_jb#IYG=_c z!I=$j)iEAc%Wl~iEV35YWUgYNRzs8LSS-z`t5t_rs1#;uaHNzy_|yUkl#R;W+!g6& z<=ikisSz3!LMEIGLg!%`J#I!^YOU*KBBp$v0`p-qfgVzWf2F~ygNxNnIqRos9E$Xz zLj^gqnkDUDf)i9J>bgveYO2DMptIR#g*%`HWjp{a7{tAkDKJs%4jIzk{D{V${H`88 z=s64QvDf*m*eV~JpWlC$#pS*n?T*3I`65csU{tSNJpqiHtM^9zkVD1uVc8PC9J?^` zvys&Cee`jjN8Vt&i!7O0ax)Ps7L$xF1C7>GUB9h>sr^*`XoMTlMee}8VO(@G3*3Vt z_W`A`>PRO|R4qQVK9h?g2b&wzbB6x8B&r&fPa);CG<8ljk|IE@R z#^wTlOPf1ua~GP}OIQ>O0$?gr5O<|{H`X~w0X=GLiYbzaX}^F36-fsj@gUxtWC*o4 zMfUjIfbzk=|1PN2Fgav3$8gQ#GVq`4!$)mz3|b8fC)MO$qU(E}E8ZQRSd*JK5soYH zQK(3TFdI~ihKfui?`jkdt3&o1$aCIv&9vd}YPqh|OHJ#wIN`|cG^WjsG^WihG^WkX zGp5aLGp5bmGP2o+o1(Z22O+*OuAexcRNWvj2@h_DA?&|F$#=Y6B?B3fujK zQfg3cWSf(fM5f=w{C&#HU(4PDfw53GWfI)!sTb<3A7XZ`srVvmn$>V%@g>*tvRKex z-wX?@!=GtRz;(_r*B!;1YhNLXz__g$cI$G|LWL!eT3{9!ba7EAsqm=bLPqmF2c|mX zLs!hNXe0gV~1aP$)dUF0@}Fv|n{NxnFezzi4v5R=CdzE-)AG z7qmK3)wsug4rIQ#90za9&e_6cS*-L$M8l=Sp*e6|fY(Q8N~fbL=6Xip1dj!H1}zbs zG^#oTIMux$V#2qY)DV9P@kbFqp7IdqNIe`9!Tm}+v`$avUxS!%d)n(T*iCtZrY=wD zy2ziZ2f-BdTx~nb`&Rg9mFU)krF5sKTMuLt_*HZ`pF6jUOR4CB#Y4qFj-7)hqj-ph zP%RE)4c^BrV1hS@&OzZwn2-lLR6Ci4!vR>`I0XZ9aqD`NLwZk!9<0SEQ-c%H(hI?I z^dFH#zYs_u^YA#N?iDFh5^JEzh_;attgnGBh(cQFixHRA_o}r6=^$FeIzURBNKv z0wGGhaWq_M9;3};X{!FvJ}SEmE4ggqu-wMUAp1N%_R-K)!4%y(I^eb)KH?SpJgvSc0ZTJ0#hCFqM-Ttk(NXo7m_}(ZFJykOWA|9W{z9KvI|7r#_yFbYT?$^H>bTuJK=y8!BiCVh|S+ z-L4e;5ZsIcwkqdpFZW-BKDoe24$Y7KH$;Q0QId)+<-usQN9*k5vK0QwuHwFB%n0;f zY%co_zWsl_-Z-1TnmcKiQ^3jM@ifc=A?HTAA4dnP=)h<_*enoq_CO`_-z5Dp&XT}A zyNzj&M|3*)^$0$YR7ypm2(^F^)6KPh&ZlGOmPkV_3o`}ADOaF6*N~Kgc@<^$WgmyK z6^a~Hm=W8CFDBcBK*YJ0!6Hr#1ZPiRxUD13FaUCc5Uyj<5bqGee$d>+DJb>l0?)m5 zxc^otJ$`974qE5#g$hb}cny4GcLH8B5c=*8RkXUer*RulbUi|9F9aT0pkq?yd5H#= zhLf$q{xpJ`hW5}j@JhXp25x49{9Y#?D!3&J?itL_@|M!vu}GUbLdi&3j&0z-!EzRo zU9@%@)SzrAdTg%$tw@|eP{gR-@8te~HyMYED1KH2?xs<(2AMw088M)eKVDyz45&15 z~Ym=h)UC_f4RwBP1(eeD$K^Q}X^Y;NNE~YhEJQ#-N%DDmVI6d_sjQm^7 z)T1$sUA+hxG9oz;mM!52==*p0j_;$7eGG6A=udS12Loa0kPZ*g;h%I^E`wptR~-+2 z{zjP;PCx>(OVj(J0QbV`#K3uxj>@YSQsDgSj%MLxIEJ0);2(CLmv0CH4?AIe^9}eo z4{IzgaIxF)!T2Ko4md037@=%_Ddxqx5u}QYQP*7@H3UEn zd=gC#Sj2*Ka7_9wnEW#fE8v~#h?&D}Bs0v7;iTeh0KF`dt4L0Um*Q4?KLT$FAm?2y zBaL~Rw?saq7Z2~!0OFjRxedQc{D$Mld75$fv2b_bHxoZDDC~*f{`f7zkAr1ojFHE$ zfFBFO8Tg?gmP>~&hIti!*W=g81xwSOLcy3Rd#adtXG2W8QyDXqZ_=KwEGcclEU0#| zXNpf!oA!1J(cWG=E7RUVJMXBSm1)ls(B4TI-_l4sYb4j)MZ1fsc0gb(%wmJl{cv4= zq&%@8a1Xg9cj^9}GPN^s!`bQ&kXlp`Y=4MItCbFiZ5AmgEWZ=W7qwR2(^|Oe4-_!I zWadO19VQ|r5t#Xv2*Ef*#skR5e|Y7*7ZYhFZjQZ&l+;qJ;>F6Q(pX3nsxEh^u4eWh z+>`UYsV;iB_dQa;W*Wxaz+H~CGZf}`*% zg(NP;5|VYOJ`}ce3yo<=#yNmiLiWN}vkHT^1avj7i`3!*LgGp5P{z;*VMy_TyFEo% z*jJXsYGz)uC5c1#P~?~r{2}6(G?mAj&m(QT*i(uPl?HO^Ve;}WyRr${bIfvtjuIbu z!aOeSP?h9~)Ulmv1rB~fXqnMbp^u^vl`_E_adR!(y2*-`?RnFX+VeJO$faILGm4=` zk#QtK6{&dVjZ$GLVaagbV4j&_p(*0NL+3r@W2OZV3n-X@jb&N5`ISeL&YOUVW%|Q) za+o=pLv>SM@MM4RA;?{AOpK>dGPyAk#aDI)W+SjLA$oiDU;1sY)_sbI zF|O6^Q>c3k|LN%jRePrBq(~Lo+Lx~E2n|TpM12*(vu5GCYgJaA_rZWFc&Z#lkur8q zyI?}8Y9$HX5HrRjJ^U*@10#<&VI|N!o?U14P38}T?5N@y1`|leJ0*V6M6hve(e)@+ z8`D`FuZ0+1L7ciGm1^Oe%y_AV6_MV*AUw(~7jIehOWa4DjR>rYu`0v)1dEQ&yF>*# z8&ax-`8xIJQC(Y>wenTYr|?$W|7vPOfIlPrJABeTs+4FPRo*kTxc8UE$aVby zIU-wc-Jl&9t*G#0;KWqaL2$52<$&aJb35Itsu{gsn3Kd*p=+URMR*=ZU;7r?}zO?O>4~9-u8U>xSdt6A*`&BMw)HJ2SJa%s!D`j6=-2hC~B#V?NweEYVO#l>LLc z#zZ3#E6WiZeMH@=?&Wo6K#npmm10Xole+lmBCB)=Yo97rb*y}!d164NV|)7&OfMzDi)E=V6}z6PWN;${|_fKq0$lg1JDM3gaE zisja1ue@Z3abh#~Iyumt6lwFb{x*>(98w*+87%E-PqjzTIVHN;C^C&iWBF!g4%3M` zZlHUYu(+p+HE@Ee3<^M>i4~H^E|st<2l3604)CwrN%HV5Gn^j1E3fxqwJc0fS8lQo8^d*NVGw6j;`%M24u&nHEkzO_& zI94HIRx++gw_|-k4^boT5Y_KQxp9cvG1IMQ5vePgv1W5ZQdjC^qD#ID&@qw9jASD& z+RxP(HA*_(aK3-f&>t-m%h^32bD9&WG+q=+k8?WWqyBlw+AK{aYI7MMwdH*HWz0Bq zN7QVtRhbu10%ut{WUzS9$Ms1R%5>03>&hcFo9l$SKXRs-xBf_n9{Fp^UC1bo*!Wx{ z*si|zq@rdO5Xeu5iGb{+R;l@kZs-=$8B+hV7cm{R0Oe%9N5jlm<& z-QtxOrCV{JuUty3X8tUaj*MGWlKrKX{Ca8W*^429hkMJ2r}`1^Uk-Kg{V#;f@zdpy z9@=+Tk676msxcX|c$D!}-;bx}dP%TQ;lvCSQoG`-RNW%di^VI?sBFok>Z_>6L3e`u zg+f;-w=4&Y8t~gJ{5qIB#npbCm7fsCk{PZnf=ec*op@;#aCtA@DKI}_7z{g!lkGKS zavxJ&Tjjd8GmhJYiA41#q0@({joe;vlRKC6!LQP+y*pv=3=9>K7ZZd)L;}c~k1Pe{ zdHvB!Z=Ge9n+D+mdrTz}xNYlS7@4h9y!Dc$EBJ|r*V4$utnewcVEeYZrBJ6&-AlD2 z(uaL?{T}wj>f75~%{*SuGn+;daeu01k)tf+N=wp>;6_r)s~kt#o zu)nZ4oNRiDZ;}LTp6g0W@}@;+x^B+WS*b=+k@~CXNMQdjCdnBGda~fy3`y2eBaCY-0`*2|xzdpL5A-f`_Xa?;Cd)cP zip!f8!jUIZmcTUa#YAEG-PPr#a4iC(eibgK36w*KSRgab7lJ_0!^;FkdH1L>VC zG8D?(aDkJpzXHxRbm}hB&Jk5atOJsZNoNaaqiP-r>RJa_@-}1% zCwKhzyr1MNAVPuJM**`rj+GM1!3$4U3D3Q=(0<0}s?L|vlMP}v5p$6gF|RhpVdb%C znFFxl*_Iz8e5N+){0yc_Q3vohHv+>1hCKd+U9`BQ$9wz)%}KUbm`TS18Q!1;&BQw{&I6BMh#WkI;_2m37-R_7j0!^s-j9-TrZvZ{hUM}7x)qwgWRe!v$veh1@15Cur3W;8g4xh4*SI(@TCFi7e zR=PBzZ{e71-(LCV{)rq-sY;R7nfxi7e0lG)mNH&TbO+4|=C*|FB9V3FZNwlvZG1A}fkuut}J+p1HFO*wYK=RU!6PnNll(e6le z(TBcDJA)AljC*|S@A&+;AK;%X^T&-!(z-F+slISyJ@=&FJt>)w(*Yu!+|(Uh4TwF- zn8M#*i^(lAUhaia&G5p63Z*V<620jmu+iiWJINd@p-Ap;F}>Z+-!ThUP_S6Xk$TA1 z1amk_iyQYyB`;L$n|9R@QK2J;dIV>IpWDX|D= zD3{U%mih^kakPyzlTL(btjN6$X7sYC_K>t8-xw9z2akWut4Qo6mnxZ+J9I}-xC+QC zpV0iaD1LE~hAy=zZ{#P7t%8yu-1fw5gc48jnsJHZe27SSiZPhig#bT-=xsH`O0k$Km3}fs3wKXqMX*YyAM{O;n=oBfw4e1JgblrW-(r zV~;FbOqV6Gxk zn1%fwmFX(9mpzEjc^4}xC|)WvE1AqUOuL(0_L>Fu7&5ylQ_UoD%Bmi|Xsl>-K-&?i zB7#XI)4#ESAlsgHW+LZeG$Y})U`&fk^jVvOO4%kh7c7kR=><-e_{0p zd)y6%R+XJbry3EezM)hPYtnj|3*OD6C&{~z1*?9UYJTn0Km>J+c?%}l*&Bk%kKNd$ z>}Eg{1ChkwgzV#h3`L~-7fO)A3y;ei0m{h}wJszaVg3NYDk8b@D5HIyqgYxeE(YQ(~uZ5qJ9qhvtzN*PJiNY*#(4B(jHS&E5r z8Z@H@3QyN&Dl!XGwo?3%=PSqE316jB3isMjX4OV z9huHD(Ig#;g36s5rc!Mfny{LoPfNM? zfhP>L!IM-ByO%ua>M=m-!z(Q;aF!>(D)%7;8CK#Gmfj*un!Pvrv)4~D;FgVF>$$p# zkx>@;!~SL(dVqo#KjIVAm?7E(8ToQWi*DkxU>Q+%ABp!p9^d zF-4GJ85Qc<(D_@*a^^nTQeI5bb#AE;AalLs^6g~FwjFjs{}4+`{_^$pGEzij9;j1s zm7S!BsjtjLd|g^_ix_SW>MvW&_bZ(yIUn%xO4-IRnXU>t(nFoF45qYos@K;ZK(%1^ z)0+5g)$l6Nsip8NX@EnS%3;A_!Tht39j^8j`_r@s>pOI(L&u>Kf_lyQ5#$SV026FV zCAx}-d}5Mz6)0%VI7cuQc^;8G_hhY0O|n870k0@@paK66;UDz zjOto*OS065OZd*UZg0G~m3kX{^^JYEJz*g#NRzs3#)^Vewv%#YnVF>R*6Mujsn!Ru|nq zPl}i>$GXB97A~ZL9LrvrE-R1%Fws&zy?cz8$wkJs@h$a}G1=y;y4+4y>Z#-o+|@0{ z8Am56t%q+`J%-73?g&UHz7F-S>mJcylKx2wIWw{rt&Uf}>Z)t2b3Gtk-hmsAz+BB{ z{OO{KF6oe@7y188Pf_!y2bW(9i(iu-uQxV!Ap0Me*!Kxc_X7v(!VV&W%XaH80_hf` zQ_MbWZQQO$+OzRgK1s>M(+N1GD2`}SJNboLiH&N=O6pV`I|?Nt%dk2nAgtZkMw`IC zT&uPcM6is5eYGx;&fC2VQ~cKrv$9!S9A_U2JnkaMHYbKeVGuw1)FfM0UNJ)wf@W-I&4b+L36@_V4}a|f(T$tO4A#bVesr^dAX zQ=vt`<}DHJ@Fprew+3K_pT{JPS~n1TXsh!tKzY z9wy2N>wzAJtO#}81V(T$ngy-vD%gFvyl5AfZg*Ej@koPK!!b30(b2^mH#!nkewo8C z!{f!*en53dmAq4^d!iNT**dmNW0{XHOa*4HSQb5G0(bc&WR{NMp{j&B!LOkY$uy|>qmxkoBNxEtwTmwk4(m^D6 zA7cc>CLiqn$5=gR;Dn7)!M3ifGvfAGO*L6(+22L-K$D7I^-j#NOxRnv$4MzFJ%%n@ zdT{&lr_U+x%cC619p6}1t?b{MGK+ zM&L7ZG(Ov|z6fz8Dr>8pCJL}3irvtn0Mmm=~Vp9`*fmW^392Axmaz71jxhw6=p2A!@v$v z)!?!UkxZfn=+NCje@Bs0>xj7cveZFH$DWYxP9AHTQOeC?X3Y zQoc!fZ2{NHXsmCLw1k(mT1O=F{hL+Vnf8uZLawBa=gXwgzzo1Us9n9jnliG5)<oN~#@ z6|~HEUEo48hxJ2L@c9R*9(UFW`9=-Csy&aPPOTQ;;4R#dgM0C!yRofg5my zr>HVJzyJAHU*X)mFM!K-=Q4Py^eFmh(i?GKv8&}}oFff-{pQZvh`-UU4V6K7x}`M2 z;hjz;C{fS3qFIMRwlF!rjH~j|RF=2zQ{axPFpQD?+{eQ`1h>|H?mR}=0=G_|JKK%# z!@a71yMYZhm~Q<(DmP~DqGQmo^Xe4dxqv< z`rl#KIkEN|(FBCwiyDp?HX7??lM0Xw3=rR(rO>>zJoUp}kg}+jOnh&-L8g z&UhlCY8G-OJ+ZXoCM;8X{hmZ@VmOaSXyYsUb=ynXsM|R;Q_*!5`ejNcN)b)J zT9Qs7sSf9KTuNbdKILsDPaO^&QZXQ>n`2b972u5N{_hLz2!q_@?& zZlaai2fib88WT9QSW<0x#s=CBDJwaZ@xG8ZLrVs0-gg%V$=>;*jeUZexjkHviinwo+_wNBa2~BL}9;r`7g#9!%!hzJ=6}_B~dSNd0W{yV+`DnB;h$JI5b8!hM+ZA-$^U&WVl>tLd;&YVwdfTHP5@*$ktG_iDluZ-!wk16nox z^~Vrnz!sE)>>IjdkH94zUT$N0F?X4l*(yh5O(in`Ewi^oZ~teD6pcZ_1?Jb04BEG z$75FYd{np!tR>uw@Rl4wRNs6hrdPTC6ExN$uG&&uDTN@DT{=cRDKQ|v=X~)ApTl)n zPO_EN@mn=4$Z1!shB+$Kx%V=X^FX8lTbIY0TY{1!@7IarV;cUPA1_gKwaMlpI(rnb(spAGxu|+xUy$! za_$x)tWzlU&+bi^gW9f(V@#&}>O!06tKw1_mAhS?@xbF+mRD3c5$gwen7S1as+ti6 zh3bA&2qEcXj8uIL*2xi&V+(%Ou=9_3z6|hi$aXa*2ZHjBfactll%Cv5Nmt*UZf;N= z|0aK3k{im8^f+=8%zm-kO>WS=Sww8PGZQB~)djh^fupS`x zJHwZbZMc~;J|Z1yOa~h=VQ5D5hM+Mq&ZhLGV z(>9QgOFcgRgI;Sl&iuV9V$}JZv!MRsD-P)yxLSRD1@7S+pgsplka_SVQiJ#uA<1Z2#(4@2DbB4akJS#&@8O$*57xlnCf>ce&TYRyM=r(`8d z@7K)#LbRA#wp86pS?^U{%!uqOVO?W=dJ-o8@>_$?@y(cJw#CvjN?VqW)|M5`F>Q-^ zw&gg}r|?f`uF$r_n=7>~*IcD-hc!28TMGt6D#Y04vD&t%d6BkFY@VoX^IA9x(7@uB zi%Y;fc5;@K5E+pY(t(JDOqo2m-P6ZInIHG7 z`uxBKChLWrhiUd>Lbe5L9+1yhq2B0=JsH|m4ZtlWSD^*kk7(K(2B9ruHuk*^clDK5 zoGg9KOO6rc{z$rQsNE}9Zv-8*M5vn3)wrnlIKgl)9W63C{X$$#?n-*!jE@QnNeLH9 z7jga~B|7XwrNhRXHXAs7V-g>l&0yo(7IETN-kyaXU#jp#gDZcr_TZ{UA&`3?F)9x^ zO4&L)_c>fftNXIaKePT(Z9Ya5dsn2xqIDPjT-_!9W%rp4%>6+~jRvW;XJPOtZK^~+nbF5nt?@?Ed|IdH8ErmG z^HdZ2%0jk|gI-7jF>&RpAmCtcFyzZpx!G)?IefUDYEg}wEzbMUc>r!Mu!xf0dLV!8 z!e4!BH4fWJGeS1Xn-Sje&^jWw3rI+kwv`|$1c@oDJ@ zSzfy6g`5$eer1tKY>mt5+ka{T@6ha5o$2RRXYr4ZWL)p+An$4OeQka~6CGW7$r7C- zKF6s#x(M_ydOkrJN2;T)j7fL$gFCM`pi4a}yJu#>jB zU5t1wE?y~LtYpepz%(*(F=ZrwDi5vTP&cPUZ@RavXO0N$~h1o@$hQP z)R*5f<}Hvp_OdR5*Z4mA*q9?tm-A7%*yW>)z15!c;g)kU31lM^EC+`H;=&V4)p@J2 zq>B#E6!4fy4nSiPkeJb`|9~k4UcHMssxTSBTBJNY!>&c^xhlPw2@~3xT1zf$Fbff& zx?LNW4(F!UA>AXGZjn>hDFAiQlii>g8>yffBwz_-7Z0yH$}Gg-jN8uVV~UK{)d76u zvS1~zHI&y>q-T5|ee68gTy2))oI#vz1&2QN3MM7#OQ}u{R$e4ISuZ(ppu5Rw%Xfi9 z-#JXbo3zo%{7x2&d>#)Kq1;-|bl|kM!{2gt@MB?m zU`KJCh3{G{YO&*_3g++QX&v^ zd_UCP1$B;xit4Jmv&A^(7tna_0WV%#pk3zzgzKK=uJe@ZUUWra_d?c_V@7NaaRdg!f@u3khnT0Ao1E>FcBI>l9Zf%R3waJrWeP5LkDj@C`$X1 z66s9;pXm6h-12ov5%x892q|g3<3D0UG?G|hu_XQdD4t+(e+6&3X0wM_`Q6w;DYc4@Xase2ix>@ zHnrssghO8)6YbWd(Uwp{SIsR`i%8c#2;btt_{fzmQih-+4fHNC*GLq^T@6ANxIH7B zYWo&0<*qME(1>vARKgR7wH5<4J=0Win1M8=t?-X{9@Z-$Gw#Xyl zU^z$O>n!v8O~dr{(Vpv#UPjD>azOFgjz*}sJq`4Jb`UdEgdW2jCC?Ci%5<~LZNi1; zEOUoqQ%~3`9tI;cKAW5n%vNq z;ujAGDQIIxT_8XCQ=l7B%AP=s`D4JleG<^>g5d%&9ZcTg<>Yi0w~{WW6%?76SR#y_ zTOyuB1fd^iXmB59o1F%-1LW+(SW(4}uD!iGMBKoj&LouuM49AMaQZCr*~avT4OwPw z%fHITU>0KaGI5Z`;2^5_rP3J)Th4dDiscmX&7V}}fsO<`@J;8Bq{n0xB7Xt_v<$1r zh1<3OJ|5|yJ4n%8`M2fsaPC_nekzmc*Gsr9e**nZ9Nh0D`kma*ZzbWje1U$e2KOt{ z58a+pIYxZn@xy3%`v6x;yMX-)&MUAJ6i=i$Mb8;p9_26Pf^`V zg+ljYAQ|0#`4Mq`j86$?VE5%xKMhFnC%_-reK}8D2kpN6lwRfCm*xmc?6R*bv0k_3 z|I}aU^+y2_V#yA?586LDu^%cH1%X=XpOlo<$-soNT1g{REYN_mS|w(vScHi^B}!K{ zQ&&Byb=489(N^(D82_WLk~j*CQRyl)4bT+)4yK35XMa8P)Hl^bOomxt8eIkWbUy`% zrza!=aKI!%SCxpD>#Adn>Ay0xuA0i6UyXpiA~&Gp`v0%4Iv+XRcL6>=mRwzRA^k2I z-0v6k`(-~rt*b7k-z9_lT}r>p`uX+ORhPqmpsu=tu4ds^FziQ%)Kym!YY1I+75vJT z8>+>x8DMZ-^&9aTR99WCq8U_I{Z@hvs;jP1!AiPndrZgTIZ)Oqyv505`O?Rk2D63z zj9#>lxOCgPf@U1&Z-Eq+uX8PEVII1`aAEnn!?>KnQxopW$3{m=EfkjewHK>+FY(38 zIsP#c?>>w#jLZ28L<`H;i;_XY1%4ep^^GWrr=t{~Qj{u9vp{<+XeZ-%i>HY%_C{17 znLo&wxK7oMq6Myq47WK_$-ZPc%VBDy)o5gil*ELQ+lRdrQ9^Q;(Fhgs7M^T3psVv3 zC~@zB0MGk@O@82UKk$Sfz*dtm_A3Yh%X!N0^@1OGx(pBVX{Bg!tA&rmbA+aAfUb0+WGRGUy8SRMPSAcxbZUT{E^+n}>9`%(rKlh{6ca4u zFbRUX0&D&#P(lx46_wAGaPW{@Wm+Q5EeGt|E&w0nnD=?)QW$k&2gHMGIcG;4%tM4# zrerF^3Us!C8|+`PCT5g9gnp9K27AN_z$&=3IOFNhUXTc@Eq@Amx!TVQ;wBH{U}DUx zZtIU**{JN_i>IULnEw+AjfcX{?`X=D8>E7HmtzrTEAWk-4yX~%_4vfoyI`sO2H0?S z-06rcJ2g_k0#y)q+s#LZ5f=bN9bV8W$IV{Fv{F>wmnto<8%LaQ{5&zciZfNo)m-O{%jS3rUW?tR1;CGjQ!ZpPQHWfyuGwkFXB z7$q+Uv2%gSt{x55}PMmocayDnC&(#orSlS-cBI8b|pAED$=MM>r&S!+_xQ$CWBH zu&+eE47l#7$#>xbHdkmRY-`agdKPXIX#|Up!@x06sk*rGDeSxj?N)q(o=N*oW(S%b;>vun z3)s*RC7*khED8*T_zURht2!(e9o~jEq$~}zn~=Kk**Y{t z6auz_0S-IwfKBXuSD|L&kQt213J!N3WNb)l-K2oQwL3JBke_h%eJL#VX`YbFWh@kIG!492{(huQ$yh{S z-v`(yV}hpr2);_jZTZJx?|X?{xdk2tS-L+iJWs)RmKRt}&Y#HW9KV~Yw!-^=&aXd% z$iV!1g|12aH83+Uzg~tb^NT^f{377xm-x8(^%wX^eu)J#f7Nvmizejd*K4k?Slnpb z{CeH>6$|ob7aeOE!Q3aF|62qn^tir%C%BIX;>2~Zb*J2^p2OR8a7%=1 z9;{aX%)&eHb=a>}i+S8?i$lyo=MFeIU*Y2grPq7qUL3@{4<{(c4`7s`K7_(H2o>t& z4}q%`ko^PH40LH#AHe=Mq(wbs8M~lNj$+@~HZcM>3m+i}R?6zlRkXQq!$SLX5Ky2( zwXlDgL9m@P)ooj_@fzsnxGa$uC2&%l-Bwx8H4kdUliaibt;cZI`P{23w&10pDb^(V zG!maYoecpLJ_f3kVX+`M+!%-tNIwI1@PPC&m^tudMZFO+c0zjjXBPeqT=dWGVE& - The exception that is thrown when an alias references an anchor that does not exist. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Defines constants that relate to the YAML specification. - - - - - Emits YAML streams. - - - - - Initializes a new instance of the class. - - The where the emitter will write. - - - - Initializes a new instance of the class. - - The where the emitter will write. - The preferred indentation. - - - - Initializes a new instance of the class. - - The where the emitter will write. - The preferred indentation. - The preferred text width. - - - - Initializes a new instance of the class. - - The where the emitter will write. - The preferred indentation. - The preferred text width. - If true, write the output in canonical form. - - - - Emit an evt. - - - - - Check if we need to accumulate more events before emitting. - - We accumulate extra - - 1 event for DOCUMENT-START - - 2 events for SEQUENCE-START - - 3 events for MAPPING-START - - - - - Expect STREAM-START. - - - - - Expect DOCUMENT-START or STREAM-END. - - - - - Expect the root node. - - - - - Expect a node. - - - - - Expect ALIAS. - - - - - Expect SCALAR. - - - - - Expect SEQUENCE-START. - - - - - Expect MAPPING-START. - - - - - Expect DOCUMENT-END. - - - - - Expect a flow item node. - - - - - Expect a flow key node. - - - - - Expect a flow value node. - - - - - Expect a block item node. - - - - - Expect a block key node. - - - - - Expect a block value node. - - - - - Check if the document content is an empty scalar. - - - - - Check if the next node can be expressed as a simple key. - - - - - The preferred indentation. - - - - - The preferred text width. - - - - - New line characters. - - - - - If true, write the output in canonical form. - - - - - If true, write output without anchor names. - - - - - The maximum allowed length for simple keys. - - - The specifiction mandates 1024 characters, but any desired value may be used. - - - - - Indent sequences. The default is to not indent. - - - - - Represents an alias event. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the value of the alias. - - - - - Initializes a new instance of the class. - - The value of the alias. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - The value of the alias. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Represents a document end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Initializes a new instance of the class. - - Indicates whether the event is implicit. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - Indicates whether the event is implicit. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a document start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the tags. - - The tags. - - - - Gets the version. - - The version. - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Initializes a new instance of the class. - - The version. - The tags. - Indicates whether the event is implicit. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - The version. - The tags. - Indicates whether the event is implicit. - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Callback interface for external event Visitor. - - - - - Represents a mapping end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a mapping start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Gets the style of the mapping. - - - - - Initializes a new instance of the class. - - The anchor. - The tag. - Indicates whether the event is implicit. - The style of the mapping. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - The anchor. - The tag. - Indicates whether the event is implicit. - The style of the mapping. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Specifies the style of a mapping. - - - - - Let the emitter choose the style. - - - - - The block mapping style. - - - - - The flow mapping style. - - - - - Contains the behavior that is common between node events. - - - - - Gets the anchor. - - - - - - Gets the tag. - - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Initializes a new instance of the class. - - The anchor. - The tag. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Base class for parsing events. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the position in the input stream where the event starts. - - - - - Gets the position in the input stream where the event ends. - - - - - Accepts the specified visitor. - - Visitor to accept, may not be null - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Represents a scalar event. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets the value. - - The value. - - - - Gets the style of the scalar. - - The style. - - - - Gets a value indicating whether the tag is optional for the plain style. - - - - - Gets a value indicating whether the tag is optional for any non-plain style. - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Gets whether this scalar event is a key - - - - - Initializes a new instance of the class. - - The anchor. - The tag. - The value. - The style. - . - . - The start position of the event. - The end position of the event. - Whether or not this scalar event is for a key - - - - Initializes a new instance of the class. - - The anchor. - The tag. - The value. - The style. - . - . - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The tag. - The value. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a sequence end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a sequence start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Gets a value indicating whether this instance is implicit. - - - true if this instance is implicit; otherwise, false. - - - - - Gets a value indicating whether this instance is canonical. - - - - - - Gets the style. - - The style. - - - - Initializes a new instance of the class. - - The anchor. - The tag. - if set to true [is implicit]. - The style. - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Specifies the style of a sequence. - - - - - Let the emitter choose the style. - - - - - The block sequence style. - - - - - The flow sequence style. - - - - - Represents a stream end event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Initializes a new instance of the class. - - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - Represents a stream start event. - - - - - Gets a value indicating the variation of depth caused by this event. - The value can be either -1, 0 or 1. For start events, it will be 1, - for end events, it will be -1, and for the remaining events, it will be 0. - - - - - Gets the event type, which allows for simpler type comparisons. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the event. - The end position of the event. - - - - Returns a that represents the current . - - - A that represents the current . - - - - - Invokes run-time type specific Visit() method of the specified visitor. - - visitor, may not be null. - - - - The exception that is thrown when an alias references an anchor - that has not yet been defined in a context that does not support forward references. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Supports implementations of by providing methods to combine two hash codes. - - - - - Combines two hash codes. - - The first hash code. - The second hash code. - - - - - Represents a YAML stream emitter. - - - - - Emits an event. - - - - - Gets a value indicating whether the end of the input reader has been reached. - - - - - Gets the character at the specified offset. - - - - - Skips the next characters. Those characters must have been - obtained first by calling the method. - - - - - Generic queue on which items may be inserted - - - - - Gets the number of items that are contained by the queue. - - - - - Enqueues the specified item. - - The item to be enqueued. - - - - Dequeues an item. - - Returns the item that been dequeued. - - - - Inserts an item at the specified index. - - The index where to insert the item. - The item to be inserted. - - - - Represents a YAML stream parser. - - - - - Gets the current event. Returns null before the first call to , - and also after returns false. - - - - - Moves to the next event. - - Returns true if there are more events available, otherwise returns false. - - - - Defines the interface for a stand-alone YAML scanner that - converts a sequence of characters into a sequence of YAML tokens. - - - - - Gets the current position inside the input stream. - - The current position. - - - - Gets the current token. - - - - - Moves to the next token and consumes the current token. - - - - - Moves to the next token without consuming the current token. - - - - - Consumes the current token. - - - - - Provides access to a stream and allows to peek at the next characters, - up to the buffer's capacity. - - - This class implements a circular buffer with a fixed capacity. - - - - - Initializes a new instance of the class. - - The input. - The capacity. - - - - Gets a value indicating whether the end of the input reader has been reached. - - - - - Gets the index of the character for the specified offset. - - - - - Gets the character at the specified offset. - - - - - Reads characters until at least characters are in the buffer. - - - Number of characters to cache. - - - - - Skips the next characters. Those characters must have been - obtained first by calling the or methods. - - - - - Represents a location inside a file - - - - - Gets a with empty values. - - - - - Gets / sets the absolute offset in the file - - - - - Gets / sets the number of the line - - - - - Gets / sets the index of the column - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - - - - - - - - - - - - - - - - Exception that is thrown when an infinite recursion is detected. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Simple implementation of that implements merging: http://yaml.org/type/merge.html - - - - - Parses YAML streams. - - - - - Initializes a new instance of the class. - - The input where the YAML stream is to be read. - - - - Initializes a new instance of the class. - - - - - Gets the current event. - - - - - Moves to the next event. - - Returns true if there are more events available, otherwise returns false. - - - - Parse the production: - stream ::= STREAM-START implicit_document? explicit_document* STREAM-END - ************ - - - - - Parse the productions: - implicit_document ::= block_node DOCUMENT-END* - * - explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* - ************************* - - - - - Parse directives. - - - - - Parse the productions: - explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* - *********** - - - - - Generate an empty scalar event. - - - - - Parse the productions: - block_node_or_indentless_sequence ::= - ALIAS - ***** - | properties (block_content | indentless_block_sequence)? - ********** * - | block_content | indentless_block_sequence - * - block_node ::= ALIAS - ***** - | properties block_content? - ********** * - | block_content - * - flow_node ::= ALIAS - ***** - | properties flow_content? - ********** * - | flow_content - * - properties ::= TAG ANCHOR? | ANCHOR TAG? - ************************* - block_content ::= block_collection | flow_collection | SCALAR - ****** - flow_content ::= flow_collection | SCALAR - ****** - - - - - Parse the productions: - implicit_document ::= block_node DOCUMENT-END* - ************* - explicit_document ::= DIRECTIVE* DOCUMENT-START block_node? DOCUMENT-END* - ************* - - - - - Parse the productions: - block_sequence ::= BLOCK-SEQUENCE-START (BLOCK-ENTRY block_node?)* BLOCK-END - ******************** *********** * ********* - - - - - Parse the productions: - indentless_sequence ::= (BLOCK-ENTRY block_node?)+ - *********** * - - - - - Parse the productions: - block_mapping ::= BLOCK-MAPPING_START - ******************* - ((KEY block_node_or_indentless_sequence?)? - *** * - (VALUE block_node_or_indentless_sequence?)?)* - - BLOCK-END - ********* - - - - - Parse the productions: - block_mapping ::= BLOCK-MAPPING_START - - ((KEY block_node_or_indentless_sequence?)? - - (VALUE block_node_or_indentless_sequence?)?)* - ***** * - BLOCK-END - - - - - - Parse the productions: - flow_sequence ::= FLOW-SEQUENCE-START - ******************* - (flow_sequence_entry FLOW-ENTRY)* - * ********** - flow_sequence_entry? - * - FLOW-SEQUENCE-END - ***************** - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * - - - - - Parse the productions: - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - *** * - - - - - Parse the productions: - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - ***** * - - - - - Parse the productions: - flow_sequence_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * - - - - - Parse the productions: - flow_mapping ::= FLOW-MAPPING-START - ****************** - (flow_mapping_entry FLOW-ENTRY)* - * ********** - flow_mapping_entry? - ****************** - FLOW-MAPPING-END - **************** - flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * *** * - - - - - Parse the productions: - flow_mapping_entry ::= flow_node | KEY flow_node? (VALUE flow_node?)? - * ***** * - - - - - Extension methods that provide useful abstractions over . - - - - - Ensures that the current event is of the specified type, returns it and moves to the next event. - - Type of the . - Returns the current event. - If the current event is not of the specified type. - - - - Checks whether the current event is of the specified type. - If the event is of the specified type, returns it and moves to the next event. - Otherwise returns null. - - Type of the . - Returns true if the current event is of type T; otherwise returns null. - - - - Enforces that the current event is of the specified type. - - Type of the . - Returns the current event. - If the current event is not of the specified type. - - - - Checks whether the current event is of the specified type. - - Type of the event. - Returns true if the current event is of type . Otherwise returns false. - - - - Skips the current event and any nested event. - - - - - Attempts to find a key on a YAML mapping that matches our predicate. - This is useful for scanning a mapping for type discriminator information. - For example: looking for a `kind` key on an object. - - This function only checks mappings, and only looks at the current depth. - - If the event is a mapping and has a key that satisfies the predicate the scan - will stop, return true, and set and - . All events up until the predicate is matched will - be consumed. - - If the event is not a mapping event or a matching key is not found, returns false. - - The IParser which will have its current value checked for a matching mapping entry - The selector to filter the mapping by - The matching key of the mapping as a Scalar, or null if no matching key found - The matching value of the mapping as a ParsingEvent, or null if no matching key found - Returns true if the current event is a mapping entry with a key that matches the selector; - otherwise returns false. - - - - Keeps track of the recursion level, - and throws - whenever is reached. - - - - - Increments the recursion level, - and throws - if is reached. - - - - - Increments the recursion level, - and returns whether is still less than . - - - - - Decrements the recursion level. - - - - - Specifies the style of a YAML scalar. - - - - - Let the emitter choose the style. - - - - - The plain scalar style. - - - - - The single-quoted scalar style. - - - - - The double-quoted scalar style. - - - - - The literal scalar style. - - - - - The folded scalar style. - - - - - Converts a sequence of characters into a sequence of YAML tokens. - - - - - Gets the current token. - - - - - Initializes a new instance of the class. - - The input. - Indicates whether comments should be ignored - - - - Gets the current position inside the input stream. - - The current position. - - - - Moves to the next token. - - - - - - Consumes the current token and increments the parsed token count - - - - - Check the list of potential simple keys and remove the positions that - cannot contain simple keys anymore. - - - - - Pop indentation levels from the indents stack until the current level - becomes less or equal to the column. For each indentation level, append - the BLOCK-END token. - - - - - Produce the STREAM-END token and shut down the scanner. - - - - - Scan a YAML-DIRECTIVE or TAG-DIRECTIVE token. - - Scope: - %YAML 1.1 # a comment \n - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - %TAG !yaml! tag:yaml.org,2002: \n - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - - - Produce the DOCUMENT-START or DOCUMENT-END token. - - - - - Produce the FLOW-SEQUENCE-START or FLOW-MAPPING-START token. - - - - - Increase the flow level and resize the simple key list if needed. - - - - - Produce the FLOW-SEQUENCE-END or FLOW-MAPPING-END token. - - - - - Decrease the flow level. - - - - - Produce the FLOW-ENTRY token. - - - - - Produce the BLOCK-ENTRY token. - - - - - Produce the KEY token. - - - - - Produce the VALUE token. - - - - - Push the current indentation level to the stack and set the new level - the current column is greater than the indentation level. In this case, - append or insert the specified token into the token queue. - - - - - Produce the ALIAS or ANCHOR token. - - - - - Produce the TAG token. - - - - - Scan a TAG token. - - - - - Produce the SCALAR(...,literal) or SCALAR(...,folded) tokens. - - - - - Scan a block scalar. - - - - - Scan indentation spaces and line breaks for a block scalar. Determine the - indentation level if needed. - - - - - Produce the SCALAR(...,single-quoted) or SCALAR(...,double-quoted) tokens. - - - - - Scan a quoted scalar. - - - - - Produce the SCALAR(...,plain) token. - - - - - Scan a plain scalar. - - - - - Remove a potential simple key at the current flow level. - - - - - Scan the directive name. - - Scope: - %YAML 1.1 # a comment \n - ^^^^ - %TAG !yaml! tag:yaml.org,2002: \n - ^^^ - - - - - Scan the value of VERSION-DIRECTIVE. - - Scope: - %YAML 1.1 # a comment \n - ^^^^^^ - - - - - Scan the value of a TAG-DIRECTIVE token. - - Scope: - %TAG !yaml! tag:yaml.org,2002: \n - ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ - - - - - Scan a tag. - - - - - Decode an URI-escape sequence corresponding to a single UTF-8 character. - - - - - Scan a tag handle. - - - - - Scan the version number of VERSION-DIRECTIVE. - - Scope: - %YAML 1.1 # a comment \n - ^ - %YAML 1.1 # a comment \n - ^ - - - - - Check if a simple key may start at the current position and add it if - needed. - - - - - Exception that is thrown when a semantic error is detected on a YAML stream. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Exception that is thrown when a syntax error is detected on a YAML stream. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Collection of . - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Initial content of the collection. - - - - - - - Gets a value indicating whether the collection contains a directive with the same handle - - - - - Represents an anchor token. - - - - - Gets the value. - - The value. - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The value. - The start position of the token. - The end position of the token. - - - - Represents an alias token. - - - - - Gets the value of the alias. - - - - - Initializes a new instance of the class. - - The value of the anchor. - - - - Initializes a new instance of the class. - - The value of the anchor. - The start position of the event. - The end position of the event. - - - - Represents a block end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a block entry event. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a block mapping start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a block sequence start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a comment - - - - - Gets the value of the comment - - - - - Gets a value indicating whether the comment appears other tokens on that line. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Represents a document end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a document start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Error tokens. - - - - - Gets the value of the error - - - - - Represents a flow entry event. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow mapping end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow mapping start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow sequence end token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a flow sequence start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a key token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a scalar token. - - - - - Gets or sets whether this scalar is a key - - - - - Gets the value. - - The value. - - - - Gets the style. - - The style. - - - - Initializes a new instance of the class. - - The value. - - - - Initializes a new instance of the class. - - The value. - The style. - - - - Initializes a new instance of the class. - - The value. - The style. - The start position of the token. - The end position of the token. - - - - Represents a stream end event. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a stream start token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a tag token. - - - - - Gets the handle. - - The handle. - - - - Gets the suffix. - - The suffix. - - - - Initializes a new instance of the class. - - The handle. - The suffix. - - - - Initializes a new instance of the class. - - The handle. - The suffix. - The start position of the token. - The end position of the token. - - - - Represents a tag directive token. - - - - - Gets the handle. - - The handle. - - - - Gets the prefix. - - The prefix. - - - - Initializes a new instance of the class. - - The handle. - The prefix. - - - - Initializes a new instance of the class. - - The handle. - The prefix. - The start position of the token. - The end position of the token. - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object. - - true if the specified System.Object is equal to the current System.Object; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - - - - Base class for YAML tokens. - - - - - Gets the start of the token in the input stream. - - - - - Gets the end of the token in the input stream. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a value token. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The start position of the token. - The end position of the token. - - - - Represents a version directive token. - - - - - Gets the version. - - The version. - - - - Initializes a new instance of the class. - - The version. - - - - Initializes a new instance of the class. - - The version. - The start position of the token. - The end position of the token. - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object. - - true if the specified System.Object is equal to the current System.Object; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Specifies the version of the YAML language. - - - - - Gets the major version number. - - - - - Gets the minor version number. - - - - - Initializes a new instance of the class. - - The major version number. - The minor version number. - - - - Determines whether the specified System.Object is equal to the current System.Object. - - The System.Object to compare with the current System.Object. - - true if the specified System.Object is equal to the current System.Object; otherwise, false. - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Base exception that is thrown when the a problem occurs in the YamlDotNet library. - - - - - Gets the position in the input stream where the event that originated the exception starts. - - - - - Gets the position in the input stream where the event that originated the exception ends. - - - - - Initializes a new instance of the class. - - The message. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The message. - The inner. - - - - Generic implementation of object pooling pattern with predefined pool size limit. The main - purpose is that limited number of frequently used objects can be kept in the pool for - further recycling. - - Notes: - 1) it is not the goal to keep all returned objects. Pool is not meant for storage. If there - is no space in the pool, extra returned objects will be dropped. - - 2) it is implied that if object was obtained from a pool, the caller will return it back in - a relatively short time. Keeping checked out objects for long durations is ok, but - reduces usefulness of pooling. Just new up your own. - - Not returning objects to the pool in not detrimental to the pool's work, but is a bad practice. - Rationale: - If there is no intent for reusing the object, do not use pool - just use "new". - - - - - Not using System.Func{T} because this file is linked into the (debugger) Formatter, - which does not have that type (since it compiles against .NET 2.0). - - - - - Produces an instance. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search. - - - - - Returns objects to the pool. - - - Search strategy is a simple linear probing which is chosen for it cache-friendliness. - Note that Free will try to store recycled objects close to the start thus statistically - reducing how far we will typically search in Allocate. - - - - - Returns the that describes the property that - is being returned in an expression in the form: - - x => x.SomeProperty - - - - - - Adapts an to - because not all generic collections implement . - - - - - Adapts an to - because not all generic dictionaries implement . - - - - - Gets or sets the element with the specified index. - - The index of the element to get or set. - The element with the specified index. - - - - Adds an element with the provided key and value to the - at the given index. - - The zero-based index at which the item should be inserted. - The object to use as the key of the element to add. - The object to use as the value of the element to add. - - - - Removes the element at the specified index. - - The zero-based index of the element to remove. - - - - Pooling of StringBuilder instances. - - - - - Determines whether the specified type has a default constructor. - - The type. - Whether to include private constructors - - true if the type has a default constructor; otherwise, false. - - - - - Manages the state of a while it is loading. - - - - - Adds the specified node to the anchor list. - - The node. - - - - Gets the node with the specified anchor. - - The anchor. - The start position. - The end position. - - if there is no node with that anchor. - - - - Gets the node with the specified anchor. - - The anchor. - The node that was retrieved. - true if the anchor was found; otherwise false. - - - - Adds the specified node to the collection of nodes with unresolved aliases. - - - The that has unresolved aliases. - - - - - Resolves the aliases that could not be resolved while loading the document. - - - - - Holds state that is used when emitting a stream. - - - - - Gets the already emitted anchors. - - The emitted anchors. - - - - Defines the method needed to be able to visit Yaml elements. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Visits a . - - - The that is being visited. - - - - - Represents a LibYAML event stream. - - - - - Initializes a new instance of the class - from the specified . - - - - - Represents an alias node in the YAML document. - - - - - Initializes a new instance of the class. - - The anchor. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Represents an YAML document. - - - - - Gets or sets the root node. - - The root node. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class with a single scalar node. - - - - - Initializes a new instance of the class. - - - - - Visitor that assigns anchors to nodes that are referenced more than once. - Existing anchors are preserved as much as possible. - - - - - Key: Node, Value: IsDuplicate - - - - - Returns whether the visited node is a duplicate. - - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - Gets all nodes from the document. - is thrown if an infinite recursion is detected. - - - - - Represents a mapping node in the YAML document. - - - - - Gets the children of the current node. - - The children. - - - - Gets or sets the style of the node. - - The style. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - A sequence of where even elements are keys and odd elements are values. - - - - Initializes a new instance of the class. - - A sequence of where even elements are keys and odd elements are values. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Adds the specified mapping to the collection. - - The key node. - The value node. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - - - - Creates a containing a key-value pair for each property of the specified object. - - - - - Represents a single node in the YAML document. - - - - - Gets or sets the anchor of the node. - - The anchor. - - - - Gets or sets the tag of the node. - - The tag. - - - - Gets the position in the input stream where the event that originated the node starts. - - - - - Gets the position in the input stream where the event that originated the node ends. - - - - - Loads the specified event. - - The event. - The state of the document. - - - - Parses the node represented by the next event in . - - Returns the node that has been parsed. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - Gets all nodes from the document, starting on the current node. - is thrown if an infinite recursion is detected. - - - - - When implemented, recursively enumerates all the nodes from the document, starting on the current node. - If is reached, a is thrown - instead of continuing and crashing with a . - - - - - Gets the type of node. - - - - - Performs an implicit conversion from to . - - The value. - The result of the conversion. - - - - Performs an implicit conversion from string[] to . - - The value. - The result of the conversion. - - - - Converts a to a string by returning its value. - - - - - Gets the nth element in a . - - - - - Gets the value associated with a key in a . - - - - - Comparer that is based on identity comparisons. - - - - - - - - - - - Specifies the type of node in the representation model. - - - - - The node is a . - - - - - The node is a . - - - - - The node is a . - - - - - The node is a . - - - - - Represents a scalar node in the YAML document. - - - - - Gets or sets the value of the node. - - The value. - - - - Gets or sets the style of the node. - - The style. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The value. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Performs an explicit conversion from to . - - The value. - The result of the conversion. - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Represents a sequence node in the YAML document. - - - - - Gets the collection of child nodes. - - The children. - - - - Gets or sets the style of the node. - - The style. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Adds the specified child to the collection. - - The child. - - - - Adds a scalar node to the collection. - - The child. - - - - Resolves the aliases that could not be resolved when the node was created. - - The state of the document. - - - - Saves the current node to the specified emitter. - - The emitter where the node is to be saved. - The state. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Serves as a hash function for a particular type. - - - A hash code for the current . - - - - - Recursively enumerates all the nodes from the document, starting on the current node, - and throwing - if is reached. - - - - - Gets the type of node. - - - - - Returns a that represents this instance. - - - A that represents this instance. - - - - - - - - Represents an YAML stream. - - - - - Gets the documents inside the stream. - - The documents. - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - - - - Adds the specified document to the collection. - - The document. - - - - Loads the stream from the specified input. - - The input. - - - - Loads the stream from the specified . - - - - - Saves the stream to the specified output. - - The output. - - - - Saves the stream to the specified output. - - The output. - Indicates whether or not to assign node anchors. - - - - Saves the stream to the specified emitter. - - The emitter. - Indicates whether or not to assign node anchors. - - - - Accepts the specified visitor by calling the appropriate Visit method on it. - - - A . - - - - - - - - Abstract implementation of that knows how to walk a complete Yaml object model. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called after this object finishes visiting a . - - - The that has been visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Abstract implementation of that knows how to walk a complete YAML object model. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a . - - - The that is being visited. - - - - - Called when this object is visiting a key-value pair. - - The left (key) that is being visited. - The right (value) that is being visited. - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Visits every child of a . - - - The that is being visited. - - - - - Wraps a instance and allows it to be buffered as a LinkedList in memory and replayed. - - - - - Initializes a new instance of the class. - - The Parser to buffer. - The maximum depth of the parser to buffer before raising an ArgumentOutOfRangeException. - The maximum length of the LinkedList can buffer before raising an ArgumentOutOfRangeException. - If parser does not fit within the max depth and length specified. - - - - Gets the current event. Returns null after returns false. - - - - - Moves to the next event. - - Returns true if there are more events available, otherwise returns false. - - - - Resets the buffer back to it's first event. - - - - - The TypeDiscriminatingNodeDeserializer acts as a psuedo . - If any of it's has a matching BaseType, the TypeDiscriminatingNodeDeserializer will - begin buffering the yaml stream. It will then use the matching s to determine - a dotnet output type for the yaml node. As the node is buffered, the s are - able to examine the actual values within, and use these when discriminating a type. - Once a matching type is found, the TypeDiscriminatingNodeDeserializer uses it's inner deserializers to perform - the final deserialization for that type & object. - Usually you will want all default s that exist in the outer - to also be used as inner deserializers. - - - - - Adds an to be checked by the TypeDiscriminatingNodeDeserializer. - - The to add. - - - - Adds a to be checked by the TypeDiscriminatingNodeDeserializer. - s use the value of a specified key on the yaml object to map - to a target type. - - The yaml key to discriminate on. - A dictionary of values for the yaml key mapping to their respective types. - - - - Adds a to be checked by the TypeDiscriminatingNodeDeserializer. - s use the presence of unique keys on the yaml object to map - to different target types. - - A dictionary of unique yaml keys mapping to their respective types. - - - - An ITypeDiscriminator provides an interface for discriminating which dotnet type to deserialize a yaml - stream into. They require the yaml stream to be buffered as they - can inspect the yaml value, determine the desired type, and reset the yaml stream to then deserialize into - that type. - - - - - Gets the BaseType of the discriminator. All types that an ITypeDiscriminator may discriminate into must - inherit from this type. This enables the deserializer to only buffer values of matching types. - If you would like an ITypeDiscriminator to discriminate all yaml values, the BaseType will be object. - - - - - Trys to discriminate a type from the current IParser. As discriminating the type will consume the parser, the - parser will usually need to be a buffer so an instance of the discriminated type can be deserialized later. - - The IParser to consume and discriminate a type from. - The output type discriminated. Null if no type matched the discriminator. - Returns true if the discriminator matched the yaml stream. - - - - A TypeDiscriminator that discriminates which type to deserialize a yaml stream into by checking the value - of a known key. - - - - - Initializes a new instance of the class. - The KeyValueTypeDiscriminator will check the target key specified, and if it's value is contained within the - type mapping dictionary, the coresponding type will be discriminated. - - The base type which all discriminated types will implement. Use object if you're discriminating - unrelated types. Note the less specific you are with the base type the more yaml will need to be buffered. - The known key to check the value of when discriminating. - A mapping dictionary of yaml values to types. - If any of the target types do not implement the base type. - - - - Checks if the current parser contains the target key, and that it's value matches one of the type mappings. - If so, return true, and the matching type. - Otherwise, return false. - This will consume the parser, so you will usually need the parser to be a buffer so an instance - of the discriminated type can be deserialized later. - - The IParser to consume and discriminate a type from. - The output type discriminated. Null if there target key was not present of if the value - of the target key was not within the type mapping. - Returns true if the discriminator matched the yaml stream. - - - - A TypeDiscriminator that discriminates which type to deserialize a yaml stream into by checking the existence - of specific keys. - - - - - Initializes a new instance of the class. - The UniqueKeyTypeDiscriminator will check if any of the keys specified exist, and discriminate the coresponding type. - - The base type which all discriminated types will implement. Use object if you're discriminating - unrelated types. Note the less specific you are with the base type the more yaml will need to be buffered. - A mapping dictionary of yaml keys to types. - If any of the target types do not implement the base type. - - - - Checks if the current parser contains of the unique keys this discriminator has in it's type mapping. - If so, return true, and the matching type. - Otherwise, return false. - This will consume the parser, so you will usually need the parser to be a buffer so an instance - of the discriminated type can be deserialized later. - - The IParser to consume and discriminate a type from. - The output type discriminated. Null if there target key was not present of if the value - of the target key was not within the type mapping. - Returns true if the discriminator matched the yaml stream. - - - - Common implementation of and . - - - - - Prevents serialization and deserialization of fields. - - - - - - Allows serialization and deserialization of non-public properties. - - - - - Calling this will enable the support for private constructors when considering serialization and deserialization. - - - - - Sets the that will be used by the (de)serializer. - - - - - Sets the to use when handling enum's. - - Naming convention to use when handling enum's - - - - - Sets the that will be used by the (de)serializer. - - - - - Register an for a given property. - - - An expression in the form: x => x.SomeProperty - The attribute to register. - - - - - Register an for a given property. - - - - - Registers an additional to be used by the (de)serializer. - - - - - Registers an additional to be used by the (de)serializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector based on a previously registered .. - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Override the default yaml formatter with the one passed in - - to use when serializing and deserializing objects. - - - - - - A factory that creates instances of based on an existing . - - The type of the wrapped component. - The type of the component that this factory creates. - The component that is to be wrapped. - Returns a new instance of that is based on . - - - - A factory that creates instances of based on an existing and an argument. - - The type of the argument. - The type of the wrapped component. - The type of the component that this factory creates. - The component that is to be wrapped. - The argument of the factory. - Returns a new instance of that is based on and . - - - - This represents the YAML converter entity for using the ISO-8601 standard format. - - - - - Initializes a new instance of the class using the default any scalar style. - - - - - Initializes a new instance of the class. - - - - - Gets a value indicating whether the current converter supports converting the specified type. - - to check. - Returns True, if the current converter supports; otherwise returns False. - - - - Reads an object's state from a YAML parser. - - instance. - to convert. - The deserializer to use to deserialize complex types. - Returns the instance converted. - On deserializing, all formats in the list are used for conversion. - - - - Writes the specified object's state to a YAML emitter. - - instance. - Value to write. - to convert. - A serializer to serializer complext objects. - On serializing, the first format in the list is used. - - - - This represents the YAML converter entity for . - - - - - Initializes a new instance of the class. - - value. Default value is . is considered as . - instance. Default value is . - If true, will use double quotes when writing the value to the stream. - List of date/time formats for parsing. Default value is "G". - On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. - - - - Gets a value indicating whether the current converter supports converting the specified type. - - to check. - Returns True, if the current converter supports; otherwise returns False. - - - - Reads an object's state from a YAML parser. - - instance. - to convert. - The deserializer to use to deserialize complex types. - Returns the instance converted. - On deserializing, all formats in the list are used for conversion. - - - - Writes the specified object's state to a YAML emitter. - - instance. - Value to write. - to convert. - A serializer to serializer complext objects. - On serializing, the first format in the list is used. - - - - Converts the object to a string representation - To use this converter, call WithTypeConverter(new DateTimeOffsetConverter()) on the - or . - - - - - Initializes a new instance of the class. - - instance. Default value is . - If true, will use double quotes when writing the value to the stream. - - List of date/time formats for parsing. Default value is "O". - On deserializing, all formats in the list are used for conversion, while on serializing, the first format in the list is used. - - - - Gets a value indicating whether the current converter supports converting the specified type. - - to check. - Returns True, if the current converter supports; otherwise returns False. - - - - Reads an object's state from a YAML parser. - - instance. - to convert. - The deserializer to use to deserialize complex types. - Returns the instance converted. - On deserializing, all formats in the list are used for conversion. - - - - Writes the specified object's state to a YAML emitter. - - instance. - Value to write. - to convert. - A serializer to serializer complext objects. - On serializing, the first format in the list is used. - - - - Converter for System.Guid. - - - - - Converter for System.Type. - - - Converts to a scalar containing the assembly qualified name of the type. - - - - - Specifies the strategy to handle default and null values during serialization of properties. - - - - - Specifies that all properties are to be emitted regardless of their value. This is the default behavior. - - - - - Specifies that properties that contain null references or a null Nullable<T> are to be omitted. - - - - - Specifies that properties that that contain their default value, either default(T) or the value specified in DefaultValueAttribute are to be omitted. - - - - - Specifies that properties that that contain collections/arrays/enumerations that are empty are to be omitted. - - - - - Deserializes objects from the YAML format. - To customize the behavior of , - use the class. - - - - - Initializes a new instance of using the default configuration. - - - To customize the behavior of the deserializer, use . - - - - - This constructor is private to discourage its use. - To invoke it, call the method. - - - - - Creates a new that uses the specified . - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use . - - - - - Deserializes an object of the specified type. - - The from where to deserialize the object. - The static type of the object to deserialize. - Returns the deserialized object. - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the deserializer - with the desired customizations. - - - - - Initializes a new using the default component registrations. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - When deserializing it will attempt to convert unquoted strings to their correct datatype. If conversion is not sucessful, it will leave it as a string. - This option is only applicable when not specifying a type or specifying the object type during deserialization. - - - - - Sets the that will be used by the deserializer. - - - - - Sets the that will be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a to be used by the deserializer. This internally registers - all existing as inner deserializers available to the . - Usually you will want to call this after any other changes to the s used by the deserializer. - - An action that can configure the . - Configures the max depth of yaml nodes that will be buffered. A value of -1 (the default) means yaml nodes of any depth will be buffered. - Configures the max number of yaml nodes that will be buffered. A value of -1 (the default) means there is no limit on the number of yaml nodes buffered. - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Ignore case when matching property names. - - - - - - Enforce whether null values can be set on non-nullable properties and fields. - - This deserializer builder. - - - - Require that all members with the 'required' keyword be set by YAML. - - - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Registers a type mapping using the default object factory. - - - - - Unregisters an existing tag mapping. - - - - - Instructs the deserializer to ignore unmatched properties instead of throwing an exception. - - - - - Instructs the deserializer to check for duplicate keys and throw an exception if duplicate keys are found. - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Gets the next visitor that should be called by the current visitor. - - - - - Gets the that is to be used for serialization. - - - - - Gets a function that, when called, serializes the specified object. - - - - - Gets the visitor of type that was used during the pre-processing phase. - - The type of the visitor.s - - - No visitor of that type has been registered, - or ore than one visitors registered are of type . - - - - - Provided the base implementation for an IEventEmitter that is a - decorator for another IEventEmitter. - - - - - This pattern matches strings that are special both in YAML 1.1 and 1.2 - - - - - Deserializes an object of the specified type. - - The from where to deserialize the object. - The static type of the object to deserialize. - Returns the deserialized object. - - - - Translates property names according to a specific convention. - - - - - Determines the type of the specified node. - - The node to be deserialized. - The type that has been determined so far. - - true if has been resolved completely; - false if the next type should be invoked. - - - - - The interface to implement for getting/setting an objects fields and properties when using a static context - - - - - Set a field/property value - - Name of the field or property. - Object to set the field/property on. - Value to set the field/property to. - - - - Reads a value from a field/property - - Name of the field or property. - Object to get the field/property from. - - - - - Represents an object along with its type. - - - - - A reference to the object. - - - - - The type that should be used when to interpret the . - - - - - The type of as determined by its container (e.g. a property). - - - - - The style to be used for scalars. - - - - - Returns the Value property of the if it is not null. - This is useful in all places that the value must not be null. - - An object descriptor. - Thrown when the Value is null - - - - - Creates instances of types. - - - This interface allows to provide a custom logic for creating instances during deserialization. - - - - - Creates an instance of the specified type. - - - - - Creates a default value for the .net primitive types (string, int, bool, etc) - - - - - - - If the type is convertable to a non generic dictionary, then it will do so and set dictionary and genericArguments to the correct values and return true. - If not, values will be null and the result will be false.. - - Object descriptor to try and convert - The converted dictionary - Generic type arguments that specify the key and value type - True if converted, false if not - - - - Gets the type of the value part of a dictionary or list. - - - - - - - Executes the methods on the object that has the attribute - - - - - - Executes the methods on the object that has the attribute - - - - - - Executes the methods on the object that has the attribute - - - - - - Executes the methods on the object that has the attribute - - - - - - Defines a strategy that walks through an object graph. - - - - - Traverses the specified object graph. - - The graph. - An that is to be notified during the traversal. - A that will be passed to the . - The serializer to use to serialize complex objects. - - - - Defined the interface of a type that can be notified during an object graph traversal. - - - - - Indicates whether the specified value should be entered. This allows the visitor to - override the handling of a particular object or type. - - The value that is about to be entered. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - The descriptor for the property that the value belongs to. - If the value is to be entered, returns true; otherwise returns false; - - - - Indicates whether the specified mapping should be entered. This allows the visitor to - override the handling of a particular pair. - - The key of the mapping that is about to be entered. - The value of the mapping that is about to be entered. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - If the mapping is to be entered, returns true; otherwise returns false; - - - - Indicates whether the specified mapping should be entered. This allows the visitor to - override the handling of a particular pair. This overload should be invoked when the - mapping is produced by an object's property. - - The that provided access to . - The value of the mapping that is about to be entered. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - If the mapping is to be entered, returns true; otherwise returns false; - - - - Notifies the visitor that a scalar value has been encountered. - - The value of the scalar. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a mapping is about to begin. - - The value that corresponds to the mapping. - The static type of the keys of the mapping. - The static type of the values of the mapping. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a mapping has ended. - - The value that corresponds to the mapping. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a sequence is about to begin. - - The value that corresponds to the sequence. - The static type of the elements of the sequence. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Notifies the visitor that the traversal of a sequence has ended. - - The value that corresponds to the sequence. - The context that this implementation depend on. - A serializer that can be used to serialize complex objects. - - - - Registers the component in place of the already registered component of type . - - - - - Registers the component before the already registered component of type . - - - - - Registers the component after the already registered component of type . - - - - - Registers the component before every other previously registered component. - - - - - Registers the component after every other previously registered component. - - - - - Registers the component in place of the already registered component of type . - - - - - Serializes the specified object into a string. - - The object to serialize. - - - - Serializes the specified object into a string. - - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Provides access to the properties of a type. - - - - - Gets all properties of the specified type. - - The type whose properties are to be enumerated. - The actual object of type whose properties are to be enumerated. Can be null. - - - - - Gets the property of the type with the specified name. - - The type whose properties are to be searched. - The actual object of type whose properties are to be searched. Can be null. - The name of the property. - - Determines if an exception or null should be returned if can't be - found in - - If true use case-insitivity when choosing the property or field. - - - - - Returns the actual name from the EnumMember attribute - - The type of the enum. - The name to lookup. - The actual name of the enum value. - - - - Return the value of the enum - - - - - - - Resolves the type of values. - - - - - Allows an object to customize how it is serialized and deserialized. - - - - - Reads this object's state from a YAML parser. - - The parser where the object's state should be read from. - The type that the deserializer is expecting. - - A function that will use the current deserializer - to read an object of the given type from the parser. - - - - - Writes this object's state to a YAML emitter. - - The emitter where the object's state should be written to. - A function that will use the current serializer to write an object to the emitter. - - - - Represents a function that is used to deserialize an object of the given type. - - The type that the deserializer should read. - Returns the object that was deserialized. - - - - Represents a function that is used to serialize an object of the given type. - - The object to be serialized. - - The type that should be considered when emitting the object. - If null, the actual type of the is used. - - - - - Allows an object to customize how it is serialized and deserialized. - - - - - Reads this object's state from a YAML parser. - - - - - Writes this object's state to a YAML emitter. - - - - - Allows to customize how a type is serialized and deserialized. - - - - - Gets a value indicating whether the current converter supports converting the specified type. - - - - - Reads an object's state from a YAML parser. - - - - - Writes the specified object's state to a YAML emitter. - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter - is lowercase. - - - - - Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) string - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - lower case (thisisatest). - - - - - Performs no naming conversion. - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter - is uppercase. - - - - - Convert the string from camelcase (thisIsATest) to a underscored (this_is_a_test) string - - - - - An empty type for cases where a type needs to be provided but won't be used. - - - - - Creates objects using Activator.CreateInstance. - - - - - Creates objects using a Func{Type,object}"/>. - - - - - - - - - - - - - - - - - Gets information about and creates statically known, serializable, types. - - - - - Create an object of the specified type - - Type of object to create - - - - - Creates an array of the specified type with the size specified - - The type of the array, should be the whole type, not just the value type - How large the array should be - - - - - Gets whether the type is a dictionary or not - - Type to check - - - - - Gets whether the type is an array or not - - Type to check - - - - - Gets whether the type is a list - - Type to check - - - - - Gets the type of the key of a dictionary - - - - - - - Gets the type of the value part of a dictionary or list. - - - - - - - Creates the default value of primitive types - - - - - - - The static implementation of yamldotnet doesn't support generating types, so we will return null's and false since we can't do anything. - - - - - - - - - An implementation of that traverses - readable properties, collections and dictionaries. - - - - - An implementation of that traverses - properties that are read/write, collections and dictionaries, while ensuring that - the graph can be regenerated from the resulting document. - - - - - A factory method for creating instances - - The type inspector to be used by the traversal strategy. - The type resolver to be used by the traversal strategy. - The type converters to be used by the traversal strategy. - The maximum object depth to be supported by the traversal strategy. - - - - - A base class that simplifies the correct implementation of . - - - - - Initializes a new instance of using the default configuration. - - - To customize the behavior of the serializer, use . - - - - - This constructor is private to discourage its use. - To invoke it, call the method. - - - - - Creates a new that uses the specified . - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use . - - - - - Serializes the specified object into a string. - - The object to serialize. - - - - Serializes the specified object into a string. - - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - - - - Serializes the specified object. - - The where to serialize the object. - The object to serialize. - The static type of the object to serialize. - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the serializer - with the desired customizations. - - - - - Put double quotes around strings that need it, for example Null, True, False, a number. This should be called before any other "With" methods if you want this feature enabled. - - Also quote strings that are valid scalars in the YAML 1.1 specification (which includes boolean Yes/No/On/Off, base 60 numbers and more) - - - - Sets the default quoting style for scalar values. The default value is - - - - - Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. - - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Unregisters an existing tag mapping. - - - - - Ensures that it will be possible to deserialize the serialized objects. - This option will force the emission of tags and emit only properties with setters. - - - - - Specifies that, if the same object appears more than once in the - serialization graph, it will be serialized each time instead of just once. - - - If the serialization graph contains circular references and this flag is set, - a StackOverflowException will be thrown. - If this flag is not set, there is a performance penalty because the entire - object graph must be walked twice. - - - - - Forces every value to be serialized, even if it is the default value for that type. - - - - - Configures how properties with default and null values should be handled. The default value is DefaultValuesHandling.Preserve - - - If more control is needed, create a class that extends from ChainedObjectGraphVisitor and override its EnterMapping methods. - Then register it as follows: - WithEmissionPhaseObjectGraphVisitor(args => new MyDefaultHandlingStrategy(args.InnerVisitor)); - - - - - Ensures that the result of the serialization is valid JSON. - - - - - Allows you to override the new line character to use when serializing to YAML. - - NewLine character(s) to use when serializing to YAML. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an to be used by the serializer - while traversing the object graph. - - A function that instantiates the traversal strategy. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Creates sequences with extra indentation - - - list: - - item - - item - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - If true then private, parameterless constructors will be invoked if a public one is not available. - - - - - Common implementation of and . - - - - - Sets the that will be used by the (de)serializer. - - - - - Sets the to use when handling enum's. - - Naming convention to use when handling enum's - - - - - Sets the that will be used by the (de)serializer. - - - - - Registers an additional to be used by the (de)serializer. - - - - - Registers an additional to be used by the (de)serializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the (de)serializer. - - A function that instantiates the type inspector based on a previously registered .. - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Override the default yaml formatter with the one passed in - - to use when serializing and deserializing objects. - - - - - - Holds the static object factory and type inspector to use when statically serializing/deserializing YAML. - - - - - Gets whether the type is known to the context - - Type to check - - - - - Gets the to use for serialization - - - - - - Gets the factory to use for serialization and deserialization - - - - - - Gets the type inspector to use when statically serializing/deserializing YAML. - - - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the deserializer - with the desired customizations. - - - - - Initializes a new using the default component registrations. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - When deserializing it will attempt to convert unquoted strings to their correct datatype. If conversion is not sucessful, it will leave it as a string. - This option is only applicable when not specifying a type or specifying the object type during deserialization. - - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Ignore case when matching property names. - - - - - - Enforce whether null values can be set on non-nullable properties and fields. - - This static deserializer builder. - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a to be used by the deserializer. This internally registers - all existing as inner deserializers available to the . - Usually you will want to call this after any other changes to the s used by the deserializer. - - An action that can configure the . - Configures the max depth of yaml nodes that will be buffered. A value of -1 (the default) means yaml nodes of any depth will be buffered. - Configures the max number of yaml nodes that will be buffered. A value of -1 (the default) means there is no limit on the number of yaml nodes buffered. - - - - Registers an additional to be used by the deserializer. - - - - - Registers an additional to be used by the deserializer. - - - Configures the location where to insert the - - - - Registers an additional to be used by the deserializer. - - A factory that creates the based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Registers a type mapping using the default object factory. - - - - - Unregisters an existing tag mapping. - - - - - Instructs the deserializer to ignore unmatched properties instead of throwing an exception. - - - - - Instructs the deserializer to check for duplicate keys and throw an exception if duplicate keys are found. - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Creates and configures instances of . - This class is used to customize the behavior of . Use the relevant methods - to apply customizations, then call to create an instance of the serializer - with the desired customizations. - - - - - Put double quotes around strings that need it, for example Null, True, False, a number. This should be called before any other "With" methods if you want this feature enabled. - - Also quote strings that are valid scalars in the YAML 1.1 specification (which includes boolean Yes/No/On/Off, base 60 numbers and more) - - - - Put double quotes around strings that need it, for example Null, True, False, a number. This should be called before any other "With" methods if you want this feature enabled. - - - - - Sets the default quoting style for scalar values. The default value is - - - - - Sets the maximum recursion that is allowed while traversing the object graph. The default value is 50. - - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer. - - A function that instantiates the event emitter based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers a tag mapping. - - - - - Unregisters an existing tag mapping. - - - - - Ensures that it will be possible to deserialize the serialized objects. - This option will force the emission of tags and emit only properties with setters. - - - - - Specifies that, if the same object appears more than once in the - serialization graph, it will be serialized each time instead of just once. - - - If the serialization graph contains circular references and this flag is set, - a StackOverflowException will be thrown. - If this flag is not set, there is a performance penalty because the entire - object graph must be walked twice. - - - - - Forces every value to be serialized, even if it is the default value for that type. - - - - - Configures how properties with default and null values should be handled. The default value is DefaultValuesHandling.Preserve - - - If more control is needed, create a class that extends from ChainedObjectGraphVisitor and override its EnterMapping methods. - Then register it as follows: - WithEmissionPhaseObjectGraphVisitor(args => new MyDefaultHandlingStrategy(args.InnerVisitor)); - - - - - Ensures that the result of the serialization is valid JSON. - - - - - Allows you to override the new line character to use when serializing to YAML. - - NewLine character(s) to use when serializing to YAML. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - The type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - before emitting an object graph. - - - Registering a visitor in the pre-processing phase enables to traverse the object graph once - before actually emitting it. This allows a visitor to collect information about the graph that - can be used later by another visitor registered in the emission phase. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Registers an to be used by the serializer - while traversing the object graph. - - A function that instantiates the traversal strategy. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector. - Configures the location where to insert the - - - - Registers an additional to be used by the serializer - while emitting an object graph. - - A function that instantiates the type inspector based on a previously registered . - Configures the location where to insert the - - - - Unregisters an existing of type . - - - - - Unregisters an existing of type . - - - - - Creates sequences with extra indentation - - - list: - - item - - item - - - - - - Creates a new according to the current configuration. - - - - - Creates a new that implements the current configuration. - This method is available for advanced scenarios. The preferred way to customize the behavior of the - deserializer is to use the method. - - - - - Builds the type inspector used by various classes to get information about types and their members. - - - - - - An object that contains part of a YAML stream. - - - - - Gets or sets the events. - - The events. - - - - Reads this object's state from a YAML parser. - - - - - Writes this object's state to a YAML emitter. - - - - - Contains mappings between tags and types. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - The mappings. - - - - Adds the specified tag. - - The tag. - The mapping. - - - - Gets the mapping. - - The tag. - - - - - Wraps another and applies caching. - - - - - Aggregates the results from multiple into a single one. - - - - - Wraps another and applies a - naming convention to the names of the properties. - - - - - Returns the properties of a type that are both readable and writable. - - - - - Returns the properties and fields of a type that are readable. - - - - - Returns the properties of a type that are readable. - - - - - Returns the properties of a type that are writable. - - - - - The type returned will be the actual type of the value, if available. - - - - - Except for primitive types, the type returned will always be the static type. - - - - - Indicates that a class used as deserialization state - needs to be notified after deserialization. - - - - - Convert a value to a specified type - - - - Naming convention to use on enums in the type converter. - The type inspector to use when getting information about a type. - - - - - Adds the specified anchor. - - The anchor. - The @object. - - - - Gets the anchor for the specified object. - - The object. - The anchor. - - - - - Gets the with the specified anchor. - - - - - - A generic container that is preserved during the entire deserialization process. - Any disposable object added to this collection will be disposed when this object is disposed. - - - - - Invokes on all - objects added to this collection that implement . - - - - - Various string extension methods - - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - camel case (thisIsATest). Camel case is the same as Pascal case, except the first letter - is lowercase. - - String to convert - Converted string - - - - Convert the string with underscores (this_is_a_test) or hyphens (this-is-a-test) to - pascal case (ThisIsATest). Pascal case is the same as camel case, except the first letter - is uppercase. - - String to convert - Converted string - - - - Convert the string from camelcase (thisIsATest) to a hyphenated (this-is-a-test) or - underscored (this_is_a_test) string - - String to convert - Separator to use between segments - Converted string - - - - Performs type conversions using every standard provided by the .NET library. - - - - - Converts the specified value. - - The type to which the value is to be converted. - The value to convert. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Converts the specified value using the invariant culture. - - The value to convert. - The type to which the value is to be converted. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Converts the specified value. - - The value to convert. - The type to which the value is to be converted. - The format provider. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Converts the specified value. - - The value to convert. - The type to which the value is to be converted. - The culture. - Naming convention to apply to enums. - The type inspector to use when getting information about a type. - - - - - Registers a dynamically. - - The type to which the converter should be associated. - The type of the converter. - - - - Define a collection of YamlAttribute Overrides for pre-defined object types. - - - - - Checks whether this mapping matches the specified type, and returns a value indicating the match priority. - - The priority of the match. Higher values have more priority. Zero indicates no match. - - - - Adds a Member Attribute Override - - Type - Class Member - Overriding Attribute - - - - Creates a copy of this instance. - - - - - Adds a Member Attribute Override - - - - - Applies the Yaml attribute overrides to another . - - - - - Applies the Yaml* attributes to another . - - - - - Converts an enum to it's string representation. - By default it will be the string representation of the enum passed through the naming convention. - - A string representation of the enum - - - - If this function returns true, the serializer will put quotes around the formatted enum value if necessary. Defaults to true. - - - - - Instructs the YamlSerializer not to serialize the public field or public read/write property value. - - - - - Provides special Yaml serialization instructions. - - - - - Decription/Comment about this property. - When set, a comment will be emitted when serializing this member. - - - - - Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. - - - - - Specifies the order priority of this property. - - - - - Instructs the to use a different field name for serialization. - - - - - When false, naming conventions will not be applied to this member. Defaults to true. - - - - - Specifies the scalar style of the property when serialized. This will only affect the serialization of scalar properties. - - - - - Overrides how null and default values should be handled for this property. - - - - - Initializes a new instance of the class. - - - - - Initializes a new instance of the class. - - Specifies that this property should be serialized as the given type, rather than using the actual runtime value's type. - - - - Put this attribute either on serializable types or on the that you want - the static analyzer to detect and use. - - - - - Use this constructor if the attribute is placed on a serializable class. - - - - - Use this constructor if the attribute is placed on the . - - The type for which to include static code generation. - - - diff --git a/powershell-yaml.psm1 b/powershell-yaml.psm1 index 9e39a46..684548f 100644 --- a/powershell-yaml.psm1 +++ b/powershell-yaml.psm1 @@ -27,15 +27,15 @@ enum SerializationOptions { UseSequenceFlowStyle = 256 } $here = Split-Path -Parent $MyInvocation.MyCommand.Path -$infinityRegex = [regex]::new('^[-+]?(\.inf|\.Inf|\.INF)$', "Compiled, CultureInvariant"); +$infinityRegex = [regex]::new('^[-+]?(\.inf|\.Inf|\.INF)$', 'Compiled, CultureInvariant'); function Invoke-LoadFile { param( [string]$assemblyPath ) - $powershellYamlDotNetAssemblyPath = Join-Path $assemblyPath "YamlDotNet.dll" - $serializerAssemblyPath = Join-Path $assemblyPath "PowerShellYamlSerializer.dll" + $powershellYamlDotNetAssemblyPath = Join-Path $assemblyPath 'YamlDotNet.dll' + $serializerAssemblyPath = Join-Path $assemblyPath 'PowerShellYamlSerializer.dll' $yamlAssembly = [Reflection.Assembly]::LoadFile($powershellYamlDotNetAssemblyPath) $serializerAssembly = [Reflection.Assembly]::LoadFile($serializerAssemblyPath) @@ -53,7 +53,7 @@ function Invoke-LoadFile { # Load YamlDotNet if it's requested by PowerShellYamlSerializer. Ignore other requests as they might # originate from other assemblies that are not part of this module and which might have different # versions of the module that they need to load. - if ($e.Name -match "^YamlDotNet,*" -and $e.RequestingAssembly.Location -eq $serializerAssemblyPath) { + if ($e.Name -match '^YamlDotNet,*' -and $e.RequestingAssembly.Location -eq $serializerAssemblyPath) { return [System.Reflection.Assembly]::LoadFile($powershellYamlDotNetAssemblyPath) } @@ -62,54 +62,46 @@ function Invoke-LoadFile { [System.AppDomain]::CurrentDomain.add_AssemblyResolve($resolver) # Load the StringQuotingEmitter from PowerShellYamlSerializer to force the resolver handler to fire once. # This is an ugly hack I am not happy with. - $serializerAssembly.GetType("StringQuotingEmitter") | Out-Null + $serializerAssembly.GetType('StringQuotingEmitter') | Out-Null # Remove the resolver handler after it has been used. [System.AppDomain]::CurrentDomain.remove_AssemblyResolve($resolver) } - return @{ "yaml"= $yamlAssembly; "quoted" = $serializerAssembly } + return @{ 'yaml' = $yamlAssembly; 'quoted' = $serializerAssembly } } function Invoke-LoadAssembly { - $libDir = Join-Path $here "lib" + $libDir = Join-Path $here 'lib' $assemblies = @{ - "core" = Join-Path $libDir "netstandard2.1"; - "net47" = Join-Path $libDir "net47"; + 'netstandard2.0' = Join-Path $libDir 'netstandard2.0'; } - if ($PSVersionTable.Keys -contains "PSEdition") { - if ($PSVersionTable.PSEdition -eq "Core") { - return (Invoke-LoadFile -assemblyPath $assemblies["core"]) - } - return (Invoke-LoadFile -assemblyPath $assemblies["net47"]) - } else { - return (Invoke-LoadFile -assemblyPath $assemblies["net47"]) - } + return (Invoke-LoadFile -assemblyPath $assemblies['netstandard2.0']) } $assemblies = Invoke-LoadAssembly -$yamlDotNetAssembly = $assemblies["yaml"] -$stringQuotedAssembly = $assemblies["quoted"] +$yamlDotNetAssembly = $assemblies['yaml'] +$stringQuotedAssembly = $assemblies['quoted'] function Get-YamlDocuments { [CmdletBinding()] - Param( - [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [string]$Yaml, - [switch]$UseMergingParser=$false + [switch]$UseMergingParser = $false ) - PROCESS { - $stringReader = new-object System.IO.StringReader($Yaml) - $parserType = $yamlDotNetAssembly.GetType("YamlDotNet.Core.Parser") + process { + $stringReader = New-Object System.IO.StringReader($Yaml) + $parserType = $yamlDotNetAssembly.GetType('YamlDotNet.Core.Parser') $parser = $parserType::new($stringReader) - if($UseMergingParser) { - $parserType = $yamlDotNetAssembly.GetType("YamlDotNet.Core.MergingParser") + if ($UseMergingParser) { + $parserType = $yamlDotNetAssembly.GetType('YamlDotNet.Core.MergingParser') $parser = $parserType::new($parser) } - $yamlStream = $yamlDotNetAssembly.GetType("YamlDotNet.RepresentationModel.YamlStream")::new() + $yamlStream = $yamlDotNetAssembly.GetType('YamlDotNet.RepresentationModel.YamlStream')::new() $yamlStream.Load($parser) $stringReader.Close() @@ -120,65 +112,65 @@ function Get-YamlDocuments { function Convert-ValueToProperType { [CmdletBinding()] - Param( - [Parameter(Mandatory=$true,ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [System.Object]$Node ) - PROCESS { + process { if (!($Node.Value -is [string])) { return $Node } $intTypes = @([int], [long]) if ([string]::IsNullOrEmpty($Node.Tag) -eq $false) { - switch($Node.Tag) { - "tag:yaml.org,2002:str" { + switch ($Node.Tag) { + 'tag:yaml.org,2002:str' { return $Node.Value } - "tag:yaml.org,2002:null" { + 'tag:yaml.org,2002:null' { return $null } - "tag:yaml.org,2002:bool" { + 'tag:yaml.org,2002:bool' { $parsedValue = $false if (![boolean]::TryParse($Node.Value, [ref]$parsedValue)) { - Throw ("failed to parse scalar {0} as boolean" -f $Node) + throw ('failed to parse scalar {0} as boolean' -f $Node) } return $parsedValue } - "tag:yaml.org,2002:int" { + 'tag:yaml.org,2002:int' { $parsedValue = 0 if ($node.Value.Length -gt 2) { switch ($node.Value.Substring(0, 2)) { - "0o" { + '0o' { $parsedValue = [Convert]::ToInt64($Node.Value.Substring(2), 8) } - "0x" { + '0x' { $parsedValue = [Convert]::ToInt64($Node.Value.Substring(2), 16) } default { if (![System.Numerics.BigInteger]::TryParse($Node.Value, @([Globalization.NumberStyles]::Float, [Globalization.NumberStyles]::Integer), [Globalization.CultureInfo]::InvariantCulture, [ref]$parsedValue)) { - Throw ("failed to parse scalar {0} as long" -f $Node) + throw ('failed to parse scalar {0} as long' -f $Node) } } } } else { if (![System.Numerics.BigInteger]::TryParse($Node.Value, @([Globalization.NumberStyles]::Float, [Globalization.NumberStyles]::Integer), [Globalization.CultureInfo]::InvariantCulture, [ref]$parsedValue)) { - Throw ("failed to parse scalar {0} as long" -f $Node) + throw ('failed to parse scalar {0} as long' -f $Node) } } foreach ($i in $intTypes) { $asIntType = $parsedValue -as $i - if($null -ne $asIntType) { + if ($null -ne $asIntType) { return $asIntType } } return $parsedValue } - "tag:yaml.org,2002:float" { + 'tag:yaml.org,2002:float' { $parsedValue = 0.0 if ($infinityRegex.Matches($Node.Value).Count -gt 0) { $prefix = $Node.Value.Substring(0, 1) switch ($prefix) { - "-" { + '-' { return [double]::NegativeInfinity } default { @@ -188,17 +180,17 @@ function Convert-ValueToProperType { } } if (![decimal]::TryParse($Node.Value, [Globalization.NumberStyles]::Float, [Globalization.CultureInfo]::InvariantCulture, [ref]$parsedValue)) { - Throw ("failed to parse scalar {0} as decimal" -f $Node) + throw ('failed to parse scalar {0} as decimal' -f $Node) } return $parsedValue } - "tag:yaml.org,2002:timestamp" { + 'tag:yaml.org,2002:timestamp' { # From the YAML spec: http://yaml.org/type/timestamp.html [DateTime]$parsedValue = [DateTime]::MinValue $ts = [DateTime]::SpecifyKind($Node.Value, [System.DateTimeKind]::Utc) - $tss = $ts.ToString("o") - if(![datetime]::TryParse($tss, $null, [System.Globalization.DateTimeStyles]::RoundtripKind, [ref] $parsedValue)) { - Throw ("failed to parse scalar {0} as DateTime" -f $Node) + $tss = $ts.ToString('o') + if (![datetime]::TryParse($tss, $null, [System.Globalization.DateTimeStyles]::RoundtripKind, [ref] $parsedValue)) { + throw ('failed to parse scalar {0} as DateTime' -f $Node) } return $parsedValue } @@ -207,34 +199,34 @@ function Convert-ValueToProperType { if ($Node.Style -eq 'Plain') { $parsedValue = New-Object -TypeName ([Boolean].FullName) - $result = [boolean]::TryParse($Node,[ref]$parsedValue) - if( $result ) { + $result = [boolean]::TryParse($Node, [ref]$parsedValue) + if ( $result ) { return $parsedValue } $parsedValue = New-Object -TypeName ([System.Numerics.BigInteger].FullName) $result = [System.Numerics.BigInteger]::TryParse($Node, @([Globalization.NumberStyles]::Float, [Globalization.NumberStyles]::Integer), [Globalization.CultureInfo]::InvariantCulture, [ref]$parsedValue) - if($result) { + if ($result) { $types = @([int], [long]) - foreach($i in $types){ + foreach ($i in $types) { $asType = $parsedValue -as $i - if($null -ne $asType) { + if ($null -ne $asType) { return $asType } } return $parsedValue } $types = @([decimal], [double]) - foreach($i in $types){ + foreach ($i in $types) { $parsedValue = New-Object -TypeName $i.FullName $result = $i::TryParse($Node, [Globalization.NumberStyles]::Float, [Globalization.CultureInfo]::InvariantCulture, [ref]$parsedValue) - if( $result ) { + if ( $result ) { return $parsedValue } } } - if ($Node.Style -eq 'Plain' -and $Node.Value -in '','~','null','Null','NULL') { + if ($Node.Style -eq 'Plain' -and $Node.Value -in '', '~', 'null', 'Null', 'NULL') { return $null } @@ -244,14 +236,14 @@ function Convert-ValueToProperType { function Convert-YamlMappingToHashtable { [CmdletBinding()] - Param( - [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] $Node, [switch] $Ordered ) - PROCESS { + process { if ($Ordered) { $ret = [ordered]@{} } else { $ret = @{} } - foreach($i in $Node.Children.Keys) { + foreach ($i in $Node.Children.Keys) { $ret[$i.Value] = Convert-YamlDocumentToPSObject $Node.Children[$i] -Ordered:$Ordered } return $ret @@ -260,36 +252,36 @@ function Convert-YamlMappingToHashtable { function Convert-YamlSequenceToArray { [CmdletBinding()] - Param( - [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] $Node, [switch]$Ordered ) - PROCESS { - $ret = [System.Collections.Generic.List[object]](New-Object "System.Collections.Generic.List[object]") - foreach($i in $Node.Children){ + process { + $ret = [System.Collections.Generic.List[object]](New-Object 'System.Collections.Generic.List[object]') + foreach ($i in $Node.Children) { $ret.Add((Convert-YamlDocumentToPSObject $i -Ordered:$Ordered)) } - return ,$ret + return , $ret } } function Convert-YamlDocumentToPSObject { [CmdletBinding()] - Param( - [Parameter(Mandatory=$true, ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [System.Object]$Node, [switch]$Ordered ) - PROCESS { - switch($Node.GetType().FullName){ - "YamlDotNet.RepresentationModel.YamlMappingNode"{ + process { + switch ($Node.GetType().FullName) { + 'YamlDotNet.RepresentationModel.YamlMappingNode' { return Convert-YamlMappingToHashtable $Node -Ordered:$Ordered } - "YamlDotNet.RepresentationModel.YamlSequenceNode" { + 'YamlDotNet.RepresentationModel.YamlSequenceNode' { return Convert-YamlSequenceToArray $Node -Ordered:$Ordered } - "YamlDotNet.RepresentationModel.YamlScalarNode" { + 'YamlDotNet.RepresentationModel.YamlScalarNode' { return (Convert-ValueToProperType $Node) } } @@ -297,19 +289,19 @@ function Convert-YamlDocumentToPSObject { } function Convert-HashtableToDictionary { - Param( - [Parameter(Mandatory=$true,ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [hashtable]$Data ) - foreach($i in $($data.PSBase.Keys)) { + foreach ($i in $($data.PSBase.Keys)) { $Data[$i] = Convert-PSObjectToGenericObject $Data[$i] } return $Data } function Convert-OrderedHashtableToDictionary { - Param( - [Parameter(Mandatory=$true,ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $true, ValueFromPipeline = $true)] [System.Collections.Specialized.OrderedDictionary] $Data ) foreach ($i in $($data.PSBase.Keys)) { @@ -319,20 +311,20 @@ function Convert-OrderedHashtableToDictionary { } function Convert-ListToGenericList { - Param( - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] - [array]$Data=@() + param( + [Parameter(Mandatory = $false, ValueFromPipeline = $true)] + [array]$Data = @() ) - $ret = [System.Collections.Generic.List[object]](New-Object "System.Collections.Generic.List[object]") - for($i=0; $i -lt $Data.Count; $i++) { + $ret = [System.Collections.Generic.List[object]](New-Object 'System.Collections.Generic.List[object]') + for ($i = 0; $i -lt $Data.Count; $i++) { $ret.Add((Convert-PSObjectToGenericObject $Data[$i])) } - return ,$ret + return , $ret } function Convert-PSObjectToGenericObject { - Param( - [Parameter(Mandatory=$false,ValueFromPipeline=$true)] + param( + [Parameter(Mandatory = $false, ValueFromPipeline = $true)] [System.Object]$Data ) @@ -341,9 +333,9 @@ function Convert-PSObjectToGenericObject { } $dataType = $data.GetType() - if (([System.Collections.Specialized.OrderedDictionary].IsAssignableFrom($dataType))){ + if (([System.Collections.Specialized.OrderedDictionary].IsAssignableFrom($dataType))) { return Convert-OrderedHashtableToDictionary $data - } elseif (([System.Collections.IDictionary].IsAssignableFrom($dataType))){ + } elseif (([System.Collections.IDictionary].IsAssignableFrom($dataType))) { return Convert-HashtableToDictionary $data } elseif (([System.Collections.IList].IsAssignableFrom($dataType))) { return Convert-ListToGenericList $data @@ -353,39 +345,39 @@ function Convert-PSObjectToGenericObject { function ConvertFrom-Yaml { [CmdletBinding()] - Param( - [Parameter(Mandatory=$false, ValueFromPipeline=$true, Position=0)] + param( + [Parameter(Mandatory = $false, ValueFromPipeline = $true, Position = 0)] [string]$Yaml, - [switch]$AllDocuments=$false, + [switch]$AllDocuments = $false, [switch]$Ordered, - [switch]$UseMergingParser=$false + [switch]$UseMergingParser = $false ) - BEGIN { - $d = "" + begin { + $d = '' } - PROCESS { - if($Yaml -is [string]) { + process { + if ($Yaml -is [string]) { $d += $Yaml + "`n" } } - END { - if($d -eq ""){ + end { + if ($d -eq '') { return } $documents = Get-YamlDocuments -Yaml $d -UseMergingParser:$UseMergingParser if (!$documents.Count) { return } - if($documents.Count -eq 1){ + if ($documents.Count -eq 1) { return Convert-YamlDocumentToPSObject $documents[0].RootNode -Ordered:$Ordered } - if(!$AllDocuments) { + if (!$AllDocuments) { return Convert-YamlDocumentToPSObject $documents[0].RootNode -Ordered:$Ordered } $ret = @() - foreach($i in $documents) { + foreach ($i in $documents) { $ret += Convert-YamlDocumentToPSObject $i.RootNode -Ordered:$Ordered } return $ret @@ -393,11 +385,11 @@ function ConvertFrom-Yaml { } function Get-Serializer { - Param( - [Parameter(Mandatory=$true)][SerializationOptions]$Options + param( + [Parameter(Mandatory = $true)][SerializationOptions]$Options ) - $builder = $yamlDotNetAssembly.GetType("YamlDotNet.Serialization.SerializerBuilder")::new() + $builder = $yamlDotNetAssembly.GetType('YamlDotNet.Serialization.SerializerBuilder')::new() $JsonCompatible = $Options.HasFlag([SerializationOptions]::JsonCompatible) if ($Options.HasFlag([SerializationOptions]::Roundtrip)) { @@ -413,7 +405,7 @@ function Get-Serializer { $builder = $builder.JsonCompatible() } if ($Options.HasFlag([SerializationOptions]::DefaultToStaticType)) { - $resolver = $yamlDotNetAssembly.GetType("YamlDotNet.Serialization.TypeResolvers.StaticTypeResolver")::new() + $resolver = $yamlDotNetAssembly.GetType('YamlDotNet.Serialization.TypeResolvers.StaticTypeResolver')::new() $builder = $builder.WithTypeResolver($resolver) } if ($Options.HasFlag([SerializationOptions]::WithIndentedSequences)) { @@ -424,7 +416,7 @@ function Get-Serializer { $useFlowStyle = $Options.HasFlag([SerializationOptions]::UseFlowStyle) $useSequenceFlowStyle = $Options.HasFlag([SerializationOptions]::UseSequenceFlowStyle) - $stringQuoted = $stringQuotedAssembly.GetType("BuilderUtils") + $stringQuoted = $stringQuotedAssembly.GetType('BuilderUtils') $builder = $stringQuoted::BuildSerializer($builder, $omitNull, $useFlowStyle, $useSequenceFlowStyle, $JsonCompatible) return $builder.Build() @@ -432,8 +424,8 @@ function Get-Serializer { function ConvertTo-Yaml { [CmdletBinding(DefaultParameterSetName = 'NoOptions')] - Param( - [Parameter(ValueFromPipeline = $true, Position=0)] + param( + [Parameter(ValueFromPipeline = $true, Position = 0)] [System.Object]$Data, [string]$OutFile, @@ -449,15 +441,15 @@ function ConvertTo-Yaml { [switch]$Force ) - BEGIN { - $d = [System.Collections.Generic.List[object]](New-Object "System.Collections.Generic.List[object]") + begin { + $d = [System.Collections.Generic.List[object]](New-Object 'System.Collections.Generic.List[object]') } - PROCESS { - if($data -is [System.Object]) { + process { + if ($data -is [System.Object]) { $d.Add($data) } } - END { + end { if ($d -eq $null -or $d.Count -eq 0) { return } @@ -468,14 +460,14 @@ function ConvertTo-Yaml { if ($OutFile) { $parent = Split-Path $OutFile if (!(Test-Path $parent)) { - Throw "Parent folder for specified path does not exist" + throw 'Parent folder for specified path does not exist' } if ((Test-Path $OutFile) -and !$Force) { - Throw "Target file already exists. Use -Force to overwrite." + throw 'Target file already exists. Use -Force to overwrite.' } - $wrt = New-Object "System.IO.StreamWriter" $OutFile + $wrt = New-Object 'System.IO.StreamWriter' $OutFile } else { - $wrt = New-Object "System.IO.StringWriter" + $wrt = New-Object 'System.IO.StringWriter' } if ($PSCmdlet.ParameterSetName -eq 'NoOptions') { @@ -489,11 +481,9 @@ function ConvertTo-Yaml { try { $serializer = Get-Serializer $Options $serializer.Serialize($wrt, $norm) - } - catch{ + } catch { $_ - } - finally { + } finally { $wrt.Close() } if ($OutFile) { @@ -507,4 +497,4 @@ function ConvertTo-Yaml { New-Alias -Name cfy -Value ConvertFrom-Yaml New-Alias -Name cty -Value ConvertTo-Yaml -Export-ModuleMember -Function ConvertFrom-Yaml,ConvertTo-Yaml -Alias cfy,cty +Export-ModuleMember -Function ConvertFrom-Yaml, ConvertTo-Yaml -Alias cfy, cty diff --git a/powershell-yaml.sln b/powershell-yaml.sln new file mode 100644 index 0000000..f2d0133 --- /dev/null +++ b/powershell-yaml.sln @@ -0,0 +1,24 @@ +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.2.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PowerShellYamlSerializer", "src\PowerShellYamlSerializer.csproj", "{661F072A-C59E-7ABB-EB12-C69FF3B9328F}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {661F072A-C59E-7ABB-EB12-C69FF3B9328F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {661F072A-C59E-7ABB-EB12-C69FF3B9328F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {661F072A-C59E-7ABB-EB12-C69FF3B9328F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {661F072A-C59E-7ABB-EB12-C69FF3B9328F}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {65F98BF3-A482-4289-84F9-F224C06DEDA7} + EndGlobalSection +EndGlobal diff --git a/src/PowerShellYamlSerializer.csproj b/src/PowerShellYamlSerializer.csproj index 4732e1e..a38a57d 100644 --- a/src/PowerShellYamlSerializer.csproj +++ b/src/PowerShellYamlSerializer.csproj @@ -1,13 +1,13 @@  - netstandard2.1;net47 + netstandard2.0 - + From a026828390a6e3b2d0a307669b20fe69d217fedb Mon Sep 17 00:00:00 2001 From: Markus Gruber <26838358+GruberMarkus@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:15:53 +0200 Subject: [PATCH 2/3] build: dummy change to trigger workflow --- dummy.txt | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 dummy.txt diff --git a/dummy.txt b/dummy.txt new file mode 100644 index 0000000..e69de29 From 0b4871ddec61c910fdf4f008a821a49aa8305302 Mon Sep 17 00:00:00 2001 From: Markus Gruber <26838358+GruberMarkus@users.noreply.github.com> Date: Tue, 7 Oct 2025 09:21:03 +0200 Subject: [PATCH 3/3] test: update test config to use macos-latest, ubuntu-latest, windows-latest (instead of outdated and specific versions) --- .github/workflows/ci.yaml | 4 ++-- Tests/powershell-yaml.Tests.ps1 | 4 ++-- dummy.txt | 0 3 files changed, 4 insertions(+), 4 deletions(-) delete mode 100644 dummy.txt diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 759c459..d262654 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -19,7 +19,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-2019, windows-2022] + os: [windows-latest] steps: - uses: actions/checkout@v3 @@ -40,7 +40,7 @@ jobs: strategy: fail-fast: false matrix: - os: [ubuntu-22.04, ubuntu-24.04, macos-latest, windows-2019, windows-2022] + os: [macos-latest, ubuntu-latest, windows-latest] steps: - uses: actions/checkout@v3 diff --git a/Tests/powershell-yaml.Tests.ps1 b/Tests/powershell-yaml.Tests.ps1 index 988f915..d87a284 100644 --- a/Tests/powershell-yaml.Tests.ps1 +++ b/Tests/powershell-yaml.Tests.ps1 @@ -1080,12 +1080,12 @@ reallyLongDecimal: 3.9999999999999990 It 'can be compiled on import with <_>/YamlDotNet.dll loaded' -ForEach $targetFrameworks { $targetFramework = $_ $yamlDotnetAssemblyPath = - Join-Path -Path $TestDrive -ChildPath "YamlDotNet-11.2.1\lib\${targetFramework}\YamlDotNet.dll" -Resolve + Join-Path -Path $TestDrive -ChildPath "YamlDotNet-16.3.0\lib\${targetFramework}\YamlDotNet.dll" -Resolve $modulePath = Join-Path -Path $PSScriptRoot -ChildPath '..\powershell-yaml.psd1' -Resolve { # Do this in the background because YamlDotNet.dll is already loaded in this session and the way we - # found to reproduce this issue is by loading YamlDotNet 11.2.1 then importing powershell-yaml. + # found to reproduce this issue is by loading YamlDotNet 16.3.0 then importing powershell-yaml. Start-Job { $yamlDotnetAssemblyPath = $using:yamlDotnetAssemblyPath $modulePath = $using:modulePath diff --git a/dummy.txt b/dummy.txt deleted file mode 100644 index e69de29..0000000

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 @}E)}pV4VhHP`ba$~bUe4_+ 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 diff --git a/lib/netstandard2.1/YamlDotNet.xml b/lib/netstandard2.1/YamlDotNet.xml deleted file mode 100644 index aa0e99e..0000000 --- a/lib/netstandard2.1/YamlDotNet.xml +++ /dev/null @@ -1,6039 +0,0 @@ - - - - YamlDotNet - - - -